0

我正在尝试使用 php 的 use_trans_sid,所以我将在所有 url 中都有 phpsessid。但是,当我将 use_trans_sid 设置为 1 时,AJAX 调用没有正确获得结果。结果不知何故被截断。

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

会有什么问题?

我正在使用 Yii 框架。

4

2 回答 2

0

检查 ajax url 请求时use_trans_sid=1,如果它们没有 phpsessid var,则需要手动将其添加到请求 url 作为 GET 参数。

use_trans_sid=1只重写页面 url,不重写 js 和 ajax。使用时,PHP 尝试在 get 参数中查找会话 ID,如果未找到 - 创建新会话。

当您使用 use_trans_sid=0ajax 工作时,因为 PHP 工作在 cookie 会话 id

于 2013-11-05T07:42:47.257 回答
0

我已将 php 的 use_trans_sid 设置为 1。

这样,PHP 将插入代码来传播会话 ID。在我的例子中,PHP 以已编码为 json 对象的形式插入了一个隐藏变量。结果,ajax 调用将其作为请求错误获取(它没有获取 json 对象)。

我通过用“Hello”之类的字符串替换表单来确认这一点。这样,PHP 就没有插入代码来传播会话 ID。ajax 调用将其作为一个好的 json 对象。

现在问题变成了“如何使 PHP 的这种中断不会干扰 ajax 调用?”

于 2013-11-06T01:41:55.733 回答