我在Magento phtml文件中有一些带有ajax的jQuery,它发布到我自己的自定义php脚本。我想要做的是在自定义php脚本中创建一个Magento会话,该值可以在调用ajax调用的phtml文件中找到。
例如,phtml文件(类别列表页面)具有ajax调用:
$.ajax({
type: "POST",
url: "/php/process.php",
data: dataString,
success: function(){
location.reload();
}
});
成功调用我的自定义php脚本(process.php)。
process.php包含以下用于测试的代码:
require_once ("/app/Mage.php");
umask(0);
Mage::app();
$returnedString= "123";
Mage::getSingleton('core/session')->setMyValue($returnedString);
我也尝试过使用session_start()。
现在在phtml文件中测试会话是否有效我有以下测试代码:
if(Mage::getSingleton('core/session')->getMyValue()=='123'):
echo "Session created";
else:
echo "Session not created";
endif;
如果我在phtml文件中显示会话数组,则会话也不可见。我不确定我哪里出错了。
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:1)
你正在尝试的是不可能的。 phtml文件是在您对网站的第一次请求时解释的。解释后,您将获得一个html文件,其中包含您的javascript作为服务器的响应。之后,您的浏览器会解释Javascript并执行ajax调用。这是一个全新的要求。您的phtml文件不会再次呈现或解释。
当您想要使用某些内容实现您的网站时,您必须将该内容作为对您的ajax调用的响应。