javascript读取php函数
如何让它工作。javascript应该通过返回读取php值并显示它 谢谢,javascript读取php函数,php,javascript,Php,Javascript,如何让它工作。javascript应该通过返回读取php值并显示它 谢谢, <html> <body> <script type="text/javascript"> var _date = "<?= $xml = new DOMDocument(); $xml->load( 'http://web.com/public.xml' ); $elements = $xml->getElementsByTagName( "dat
<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>
var\u date=“加载('http://web.com/public.xml' );
$elements=$xml->getElementsByTagName(“数据”);
$dates=$xml->getElementsByTagName(“i_数据”);
$\日期=$日期->项目(0)->节点值;
返回日期$\u;
?>";
警报(_日期)
使用使用echo
不返回
。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>
var\u date=“加载('http://web.com/public.xml' );
$elements=$xml->getElementsByTagName(“数据”);
$dates=$xml->getElementsByTagName(“i_数据”);
$\日期=$日期->项目(0)->节点值;
返回日期$\u;
}
echo getDate();
?>";
警报(_日期);
尝试以不同的方式组织:
<?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>
load('http://web.com/public.xml' );
$elements=$xml->getElementsByTagName(“数据”);
$dates=$xml->getElementsByTagName(“i_数据”);
$\日期=$日期->项目(0)->节点值;
返回日期$\u;
}
?>
var_日期=“”;
警报(_日期)
您必须生成有效的javascript才能工作。如果从XML中获取的日期值是字符串,则必须用引号将其括起来。确保从PHP中获取有效javascript的最简单方法是使用json编码:
var _date = <?php ... xml stuff here ...; echo json_encode($_date); ?>;
var\u date=;
你是说echo,对吗?php函数不会存储在其他地方并由ajax访问吗?json_encode
??当你只需要一根绳子的时候?我不认为这是最好的方法——这根本解决不了问题!是的。json encode保证您最终得到有效的javascript,而不管您回送的内容是什么。我同意这对于一个简单的日期串来说是过分的,但是这是一件容易养成习惯的事情,并且让你的生活变得更加轻松。这怎么解决不了问题?您没有向OP展示他/她所做的不起作用的原因。我的意思是,你的答案本身并不是错的,只是缺少一点背景,没问题。很高兴我能帮忙。请把答案标为最终答案。
var _date = <?php ... xml stuff here ...; echo json_encode($_date); ?>;