我想在div中单击一个元素时更新会话,但是每当我使用ajax时,看起来我的会话都没有更新。我想要更新会话,而不仅仅是在我的ajax中打印数据。
这是我的ajax:
$('.chat_div').click(function(){
var id = $(this).attr('id');
$.ajax({
url: 'plugins/get_id.php',
data: {id:id},
success: function(data)
{
alert("<?php echo $_SESSION['chat_mate_id'];?>");
}
});
});
这是我的php文件:
session_start();
$_SESSION['chat_mate_id'] = $_GET['id'];
答案 0 :(得分:4)
您正在生成一个HTML文档,其中包含一些嵌入式JS。在生成HTML文档时,您将会话变量的值作为字符串文字输出到JS中。
接下来,运行JS,它发出第二个HTTP请求,并更新会话变量的值。
当响应到达时,您会在加载原始页面时提醒您注入页面的字符串的值。
如果您想对会话变量的 new 值做出反应,那么您必须使用从服务器获取的数据更新值。< / p>
一分钟前运行PHP程序的输出不会追溯性地改变。阿贾克斯不是时间旅行。