javascript - ajax获取session变量更新的值

查看:109
本文介绍了javascript - ajax获取session变量更新的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我在a.php存入session变量$_SESSION['a'] = 1;
前台页面有一个点击事件,ajax获取通过$_SESSION['a'] 等于 1 让其可点击执行,
通过ajax在b.php取得值,执行一次后,将session变量$_SESSION['a'] = 0,这时候就让这个点击事件不可再执行。
但是实际上$_SESSION['a'] = 0 后,再次点击事件还是能执行,除非刷新页面。
如何才能在不刷新状态下通过Ajax获取$_SESSION['a']最新的值。

解决方案

这个是因为浏览器解析完了PHP代码,如果不发起新的请求, 不会重新解析, 你可以F12浏览器审查元素看一下, 里面就是实际是HTML,而不是$_SESSION, 我说一下想法给你。

  1. 声明一个全局变量标记

  2. 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;
    }
});

这篇关于javascript - ajax获取session变量更新的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆