我在文章中设置会话变量:
$session->set('test' , 'testing' );
只要我留在其他Joomla模块和文章中,我就可以毫无问题地阅读它。
$db = $session->get('test' , '' );
但是当我在Javascript(同一文件夹中的所有内容)中执行由XMLHttpRequest调用的php时,它找不到会话变量并返回默认值。
我错过了什么?
答案 0 :(得分:0)
如果要声明这些会话值是可以从Joomla中的任何位置读取的变量,那么您应该使用setUserState和getUserState方法。
例如,如果要设置名为test的会话变量,则可以执行此操作:
$app = JFactory::getApplication();
$app->setUserState('test','my test value');
然后,如果你想在Joomla的其他任何地方调用它,只需使用getUserState将其设置为变量:
$app = JFactory::getApplication();
$mySessionVariable = $app->getUserState('test');
echo $mySessionVariable;
以下是Joomla的会话状态变量文档的链接: Joomla User State Variables