在我的'index.php'
中,我在$(document).ready()
内发出了两个ajax请求。请求将发送到相同的php文件'process.php'
。
在'index.php'
的开头,我有类似的内容:
session_start();
session_regenerate_id(true);
$_SESSION['someVar'] = "someVal";
然后我有两个ajax调用。
对于这两个请求,'process.php'
必须使用$_SESSION['someVar']
。
'process.php'
中的代码类似于:
session_start();
session_regenerate_id(true);
doSomethingWith($_SESSION['someVar']);
当我加载'index.php'
时,我可以在会话文件夹中看到两个会话文件:旧版包含someVar
,而较新版本不包含someVar
。当我取消一个ajax调用时,我只有一个包含'process.php'
的会话文件。这意味着我的会话在{{1}}中无法识别第二个ajax调用,因此会创建一个新会话并丢失旧会话。
为什么会发生这种情况,我该如何解决?