【发布时间】:2010-11-01 09:30:29
【问题描述】:
我正在构建一个订单系统,并且有 2 个不同的部分用于添加产品。在这两个部分中,产品都是通过 ajax 请求插入的,该请求返回购物篮。在第一部分中,产品被直接添加(没有任何选项)。这部分工作正常。 在第二部分中,用户可以为订购的商品添加偏好。当用户单击链接时,会打开一个 Facebook 弹出窗口。在这里,用户可以选择偏好。当用户提交表单时,将对同一脚本进行 ajax 调用。于是我查看了 $_SESSION 变量,它似乎是空的...
会话启动,会话名称和会话ID与真实页面相同,但数组为空。当我刷新页面时,我添加的数据也会添加到 $_SESSION 变量中,但是当我进行 ajax 调用时不会...我在 url 中添加了会话名称和 id,但它仍然不起作用.
有人知道什么地方会出错吗?该代码通常可以正常工作...
会话在名为 connection.php 的文件中启动。 在篮子里我添加了这段代码:
if(!session_id()) {
$id = $_GET[session_name()];
session_id($id);
session_start();
}
这是添加到javascript中的:
//config:
$.sid = '<?php echo(session_name() . "=" . session_id()); ?>';
// in the request function ($(this) is the form):
var qry = '?action=add&' + $(this).serialize() + '&' + $.sid;
Gr
【问题讨论】:
-
你能显示一些代码吗?尤其是您将会话 ID 添加到 Ajax URL 的部分?你在 Ajax 脚本中使用
session_start()吗? -
是的,我已经开始了会话。添加代码。
-
这些会话来自同一个客户端吗?
-
是的,它们是:请求都来自同一个窗口/页面/用户。我已经在 chrome 和 firefox 中对其进行了测试。两者都不起作用,所以它也不是特定于浏览器的。
-
@VeeWee 你能尝试通过做一些测试输出来确认会话是否在 Ajax 脚本中继续吗?