PHP inside JavaScript

PHP inside JavaScript

本文关键字:JavaScript inside PHP      更新时间:2023-09-26

我有一行JavaScript,希望能得到帮助。

req.open("GET", 'update.php?id=<?php $id ?>', true);

如果$id =12345,我试图获得update.php的内容?id=12345.

在JavaScript中使用PHP似乎不适合我。

有什么建议吗?

首先,确保您实际上是在一个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);

您有一些方法可以做到这一点。首先,让你的javascript文件在。php文件(注意你需要包括它,而不是链接到文件的开始)。

第二个,在php中,你可以写
<?php
echo '
<script type="text/javascript">
   id="'.$id.'";
</script>';
?>
使用

,您可以在javascript中定义一个全局变量来获取正确的值。然后你只需要在后面写:

req.open("GET", 'update.php?id='+id, true);

如果你需要在需要页面后更改id,你只需要更改id javascript值

我认为使用PHP以这种方式格式化javascript是一个非常糟糕的设计决策。你应该提供更多关于你正在尝试做的事情的信息,因为我几乎可以向你保证,有更好的方法来做到这一点。例如,如果您正在尝试对URL(显然)进行javascript调用,则将该数据应用于HTML文档中的属性:

<div id="someExample">
   <a href="http://www.whocares.com" data-id="12345">Item 12345</a>
</div>

然后在点击时使用不显眼的javascript来访问该项目,必要时取消链接的默认操作。这种方法的好处是很多的——你可以编写可重用的代码,并且你不需要在javascript中做额外的PHP解析,否则以后会非常难以理解。

通过PHP将JS硬编码数据添加到javascript对象中是一个非常糟糕的设计决策。如果你在这方面需要更多的帮助,请告诉我,但先试着多研究一下!