我正在尝试使用php的use_trans_sid,所以我将在所有网址中使用phpsessid。 但是,当我将use_trans_sid设置为1时,AJAX调用没有得到正确的结果。 不知怎的,结果被截断了。
当我将use_trans_sid设置回0时,AJAX再次调用正确的结果。
会出现什么问题?
我正在使用Yii框架。
答案 0 :(得分:0)
在use_trans_sid=1
时检查ajax网址请求,如果他们没有phpsessid var,则需要手动将其添加到请求网址作为GET参数。
use_trans_sid=1
只重写页面网址,而不是js和ajax。当它使用时,PHP尝试在get参数中查找会话ID,如果找不到 - 创建新会话。
当您使用use_trans_sid=0
ajax时,因为PHP可以处理cookie会话ID
答案 1 :(得分:0)
我已将php的use_trans_sid设置为1。
有了这个,PHP将插入代码来传播会话ID。 在我的例子中,PHP在一个已编码为json对象的表单中插入了一个隐藏变量。 结果,ajax调用将其作为请求错误(它没有获得json对象)。
我通过用'Hello'之类的字符串替换表单来确认这一点。 有了它,PHP没有插入代码来传播会话ID。并且ajax调用将它作为一个好的json对象。
现在问题已经变成'如何从PHP中断这样的干扰不会干扰ajax调用?'