PHP里面的PHP

时间:2013-05-18 22:08:16

标签: php javascript

我有一行JavaScript,我很感激帮助。

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

$ id = 12345,我试图获取update.php的内容?id = 12345。

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

有什么建议吗?

3 个答案:

答案 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对象是一个非常糟糕的设计决策。如果您需要更多帮助,请告诉我,但请先尝试更多研究!