逃避& lt; ?php . .比;javascript文件


Escape <?php ... ?> on javascript file

我正忙着为magento做服务器端和客户端验证。此验证在服务器端(php)

运行良好。

在客户端我使用javascript。

当我开始做这个的时候。我把我的javascript嵌入到一个php文件中,一切都如预期的那样工作。

因为我使用magento所以我决定通过page.xml

注入javascript文件

当我添加javascript代码而不是获取消息时,我得到的是php。

这是我的javascript:

function DefaultAddressErrorChangeNotAllowedMessage() {
    alert("<?php echo Mage::helper('invent_general')->getDefaultAddressErrorChangeNotAllowedMessage();?>");
    return;
}

当用户点击onclick时,我运行这个函数,它将指向这个函数DefaultAddressErrorChangeNotAllowedMessage()

 <?php echo Mage::helper('invent_general')->getDefaultAddressErrorChangeNotAllowedMessage();?>

将按原样填充。

,但当我直接嵌入到一个php文件它拉正确的消息。

我有一种方法可以让javascript转义php并从config.xml中获取正确的消息

PHP仅在服务器端呈现。如果需要将PHP特定的值"注入"到javascript中,那么要么需要将实际值作为PHP脚本输出的一部分呈现,要么需要使用Ajax重新往返服务器。

Javascript是客户端,PHP是服务器端,所以当Javascript加载时,所有PHP都已被评估。这意味着,您可以警告php回显,但不能在Javascript中运行php操作或任何php逻辑。这需要ajax

很抱歉我的回答笨拙,但也许你失去了简单的东西。我看到你的javascript包含php标签,所以我认为你应该插入你的javascript代码到。php扩展,因为。js扩展不能识别php标签。