我忙着为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中提取的正确消息
答案 0 :(得分:0)
PHP仅在服务器端呈现。如果你需要注射&#34;你的javascript的PHP特定值,然后你需要将实际值作为php脚本输出的一部分呈现,或者你需要使用Ajax对服务器进行新的往返。
答案 1 :(得分:0)
Javascript是客户端,PHP是服务器端,因此在加载javascript时已经评估了所有php。这意味着,您可以提醒php echos,但您无法在Javascript中运行PHP操作或任何PHP逻辑。你需要ajax。
答案 2 :(得分:-1)