我在a.php存入session变量SESSION[′a′]=1;前台页面有一个点击事件,ajax获取通过_SESSION['a'] 等于 1 让其可点击执行,通过ajax在b.php取得值,执行一次后,将session变量SESSION[′a′]=0,这时候就让这个点击事件不可再执行。但是实际上_SESSION['a'] = 0 后,再次点击事件还是能执行,除非刷新页面。如何才能在不刷新状态下通过Ajax获取$_SESSION['a']最新的值。
1 回答
料青山看我应如是
TA贡献1772条经验 获得超8个赞
这个是因为浏览器解析完了PHP
代码,如果不发起新的请求, 不会重新解析, 你可以F12
浏览器审查元素看一下, 里面就是实际是HTML,而不是$_SESSION
, 我说一下想法给你。
声明一个全局变量标记
ajax 取值响应时,通过判断
session
的值重新赋值click_flag
var click_flag= true;
// ajax 请求
$.get(url, data, function(res){
// 判断 session 的状态
if (res.session == 0)
{
click_flag = false;
}
else
{
click_flag = true;
}
});
// 点击事件
$("#id").click(function(){
// 如果标记不存在, 不执行后续代码
if (!click_flag)
{
return false;
}
});
添加回答
举报
0/150
提交
取消