我有一行JavaScript,我很感激帮助。
req.open("GET", 'update.php?id=<?php $id ?>', true);
$ id = 12345,我试图获取update.php的内容?id = 12345。
在这个JavaScript中使用PHP似乎并不适合我。
有什么建议吗?
答案 0 :(得分:4)
首先,确保您实际上在PHP文件中,或者让您的服务器配置为处理您使用PHP的任何文件扩展名。
然后,您可以将数据直接回显到JavaScript中。为了获得最佳兼容性并避免潜在的XSS漏洞,请始终对数据进行JSON编码。
req.open('GET', 'update.php?id=' + <?php echo json_encode($id); ?>, true);
就个人而言,我更喜欢拥有一个从PHP分配的变量块。这可以让你的JavaScript更清洁。
<?php
$options = new stdClass();
$options->id = 12345;
$options->dinnerSelection = 'pizza';
echo 'var options = ', json_encode($options), ';'
?>
// Then later on in your JS...
req.open('GET', 'update.php?id=' + options.id, true);
答案 1 :(得分:2)
你有办法做到这一点。 第一个在.php文件中创建你的javascript文件(要carrefull你需要包含它而不是在文件的开头链接它。
第二个,在php中,你可以写
<?php
echo '
<script type="text/javascript">
id="'.$id.'";
</script>';
?>
有了这个,你可以在javascript中定义一个具有良好价值的全局变量。 然后你必须在此后写:
req.open("GET", 'update.php?id='+id, true);
如果您在重新获得页面后必须更改ID,则只需更改id javascript值
答案 2 :(得分:1)
我认为使用PHP以这种方式格式化你的javascript是一个非常糟糕的设计决定。您应该提供有关您尝试做什么的更多信息,因为我几乎可以向您保证有更好的方法来执行此操作。 例如,如果您尝试对URL进行javascript调用(显然),则将该数据应用于HTML文档中的属性:
<div id="someExample">
<a href="http://www.whocares.com" data-id="12345">Item 12345</a>
</div>
然后使用unobtrusive javascript在点击时访问该项目,必要时取消链接的默认操作。这种方法的好处很多 - 您可以编写可重用的代码,并且您不需要在以后很难理解的javascript中进行额外的PHP解析。
通过PHP将JS硬编码数据添加到javascript对象是一个非常糟糕的设计决策。如果您需要更多帮助,请告诉我,但请先尝试更多研究!