【发布时间】:2014-06-24 06:52:27
【问题描述】:
我正在开发一个 php 项目,在该项目中我提示用户选择他的城市并将其存储到 cookie 中,然后使用它来过滤结果。
问题是当我更改城市并从主页以外的页面更新 cookie 中的值时,我无法从 cookie 中读取最新值(请注意,我正在使用 jquery cookie 插件,是的,我是使用 jquery 刷新页面)。但是当我从浏览器工具检查 cookie 值时,它显示的是最新值。
我还注意到,当我导航到其他页面时,我看到那里的城市变化,但刷新同一页面并没有帮助。
注意:这个项目使用php从数据库生成动态html页面,我从php代码$_COOKIE['user_city']中读取cookie
$('#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'] 中没有;
【问题讨论】: