Javascript读取PHP函数

javascript read php function

本文关键字:函数 PHP 读取 Javascript      更新时间:2023-09-26

如何使其工作。Javascript应该通过return读取PHP值并显示它。

谢谢你,

<html>
<body>
<script type="text/javascript">
var _date = "<?= 
  $xml = new DOMDocument();
  $xml->load( 'http://web.com/public.xml' );
  $elements = $xml->getElementsByTagName( "data" );
  $dates = $xml->getElementsByTagName( "i_data" );
  $_date = $dates->item(0)->nodeValue;
  return $_date;
 ?>";
alert(_date)
</script>
</body>
</html>

尝试不同的组织方式:

<?php
  function giveDate(){
    $xml = new DOMDocument(); 
    $xml->load( 'http://web.com/public.xml' ); 
    $elements = $xml->getElementsByTagName( "data" ); 
    $dates = $xml->getElementsByTagName( "i_data" ); 
    $_date = $dates->item(0)->nodeValue; 
    return $_date; 
  }
?>
<script type="text/javascript"> 
  var _date = '<?=giveDate()?>';
  alert(_date) 
</script> 

使用<?php而不是<?=

<html>
<body>
<script type="text/javascript">
var _date = "<?php 
  $xml = new DOMDocument();
  $xml->load( 'http://web.com/public.xml' );
  $elements = $xml->getElementsByTagName( "data" );
  $dates = $xml->getElementsByTagName( "i_data" );
  $_date = $dates->item(0)->nodeValue;
  echo $_date; //<<-- echo, NOT return
 ?>";
alert(_date)
</script>
</body>
</html>

使用echo而不是return。PHP是服务器端,所以它需要将信息输出到页面,而不是"返回"给客户端。return应该在函数调用中使用。

另外,为了安全起见,请使用长PHP标记(<?php ... ?>)。


使用return:

的替代方法
<script>
  var _date = "<?php
    function getDate(){
      $xml = new DOMDocument();
      $xml->load( 'http://web.com/public.xml' );
      $elements = $xml->getElementsByTagName( "data" );
      $dates = $xml->getElementsByTagName( "i_data" );
      $_date = $dates->item(0)->nodeValue;
      return $_date;
    }
    echo getDate();
  ?>";
  alert(_date);
</script>

您必须生成有效的javascript来工作。如果从XML中得到的日期值是字符串,则必须用引号将其括起来。确保从PHP获得有效javascript的最简单方法是使用json-encode:

var _date = <?php ... xml stuff here ...; echo json_encode($_date); ?>;