我正在开发一个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'];