我是jquery cookie插件的新手。 我正在编写代码来在单页服务器端设置cookie,并在jquery的另一页上读取它。 它在所有浏览器上本地工作。 但在服务器上它正常工作ie并且不能正常工作在chrome和firefox上。 这是我在服务器端设置cookie的代码:
context.Response.AppendCookie(new HttpCookie("fileDownloadToken", _token));
并使用jquery在另一页上下载文件后读取和删除cookie:
<script type="text/javascript">
var fileDownloadCheckTimer;
function blockUIForDownload() {
var token = '1357.11.22';
$('#download_token_value').val(token);
$.blockUI({
message:$('#domMessage'),
css: {
padding: 10,
margin: 0,
width: '30%',
top: '50%',
left: '35%',
textAlign: 'center',
color: '#000',
border: '3px solid #aaa',
backgroundColor: '#fff',
cursor: 'wait',
}});
fileDownloadCheckTimer = window.setInterval(function () {
var cookieValue = $.cookie('fileDownloadToken');
//alert(cookieValue);
if (cookieValue == token)
finishDownload();
}, 1000);
}
function finishDownload() {
window.clearInterval(fileDownloadCheckTimer);
$.unblockUI();
$.cookie('fileDownloadToken', null, { path: '/' });
}
</script>
答案 0 :(得分:3)
请设置Cookie到期日期时间,因为服务器可能位于浏览器系统时间后面的另一个时区。
HttpCookie cookie = new HttpCookie("fileDownloadToken", _token);
cookie.Expires = DateTime.Now.AddMinutes(10); //change this to appropriate value
cookie.Path = "/"; //Also set path
context.Response.AppendCookie(cookie);