use_session_sid时无法返回AJAX调用

时间:2013-11-05 06:58:10

标签: ajax yii

我正在尝试使用php的use_trans_sid,所以我将在所有网址中使用phpsessid。 但是,当我将use_trans_sid设置为1时,AJAX调用没有得到正确的结果。 不知怎的,结果被截断了。

当我将use_trans_sid设置回0时,AJAX再次调用正确的结果。

会出现什么问题?

我正在使用Yii框架。

2 个答案:

答案 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调用?'