PHP - 无法从同一页面访问更改的cookie值

时间:2014-06-24 06:52:28

标签: php jquery cookies

我正在开发一个php项目,其中我提示用户选择他的城市并将其存储到cookie中,然后使用它来过滤结果。

问题是,当我更改城市并从主页以外的页面更新cookie中的值时,我无法从cookie中读取最新值(请注意,我正在使用jquery cookie插件,是的,我是使用jquery刷新页面)。但是,当我从浏览器工具检查cookie值时,它会显示最新值。

另外我注意到一个事情,当我导航到其他页面时,我看到那里的城市变化,但刷新同一页面没有帮助。

注意:这个项目使用php从数据库生成动态html页面,我从php代码中读取cookie $ _COOKIE ['user_city']

    $('#storecity').submit(function(event){
        $frm = $(this);
        var action = $frm.attr('action');
        $city = $frm.find('select[name=city]').val();
        $frm.find('*[type=submit]').attr('disabled', 'disabled');
        $frm.find('*[type=submit]').attr('value', 'loading...');
        var pageurl = $(location).attr('href');
        $.cookie('user_city', $city, { expires: 365, path: "/"});
        event.preventDefault();
        window.location.replace(pageurl);
    });

注意:我刚刚注意到它只在PHP页面中正常工作,但在我上面提到的HTML页面中没有工作

更新:当我使用cookie插件检查$ .cookie('user_city')时,cookie值已更改,但不会更改为php $ _COOKIE ['user_city'];

1 个答案:

答案 0 :(得分:0)

Cookie会在下次加载可见Cookie的网页后才会显示。

这句话来自Here