我有一个包含列表和要点击的div的页面:
<ul id='chosen'>
<li id="1">Item 1</li>
<li id="2">Item 2</li>
</ul>
<div class="play"></div>
然后我有一些jquery,它在div上点击以获取列表项ID并通过POST将它们发送到php页面,该页面用列表项id更新会话变量。
jquery的:
$(document).on('click','.play',function(){
var chosen = $('#chosen').sortable('toArray');
$.post('../ext/php/chosen.php', {value: chosen}, function() {
window.location = "http://www.xyz123.com/play_d.php"
});
});
chosen.php:
<?php
session_start();
if (isset($_POST['value']))
{
$_SESSION[section_remember] = $_POST['value'];
}
?>
在设置并返回Session变量之后,我希望jquery将用户重定向到一个单独的页面(play_d.php),然后读取会话变量并用它做一些事情。
如果我注释掉window.location
部分,然后手动转到页面而不是重定向,则jquery代码和会话变量的东西有效,但是当我要求jquery重定向用户时,它似乎会中断设置会话变量,它都崩溃了。
我猜我错过了一些基本的东西,但我已经研究过,找不到解决方案。我是否要求浏览器几乎同时转到两个不同的页面?如果是这样,我如何确保设置会话变量,然后才重定向用户?
感谢您的帮助!