在javascript文件上逃避<! - ?php ...? - >

时间:2014-06-27 08:10:57

标签: javascript php magento

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

在客户端我正在使用javasrcript。

当我开始这个时。我将我的javascript嵌入到phtml文件中,一切都按预期工作。

因为我使用的是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();?>

将按原样填充。

但是当我将它直接嵌入到phtml文件中时,它会提取正确的信息。

我有一种方法可以用javasrcipt来逃避php并获取从config.xml中提取的正确消息

3 个答案:

答案 0 :(得分:0)

PHP仅在服务器端呈现。如果你需要注射&#34;你的javascript的PHP特定值,然后你需要将实际值作为php脚本输出的一部分呈现,或者你需要使用Ajax对服务器进行新的往返。

答案 1 :(得分:0)

Javascript是客户端,PHP是服务器端,因此在加载javascript时已经评估了所有php。这意味着,您可以提醒php echos,但您无法在Javascript中运行PHP操作或任何PHP逻辑。你需要ajax。

答案 2 :(得分:-1)

抱歉,我的笨拙答案,但也许你失去了简单的事情。 我看到你的javascript包含php标签,所以我认为你应该将你的javascript代码插入.php扩展名,因为.js扩展名无法识别php标签。