我创建了一个函数来获取javascript中的cookie:
function getCookie() {
var arr = document.cookie.split(";");
for (i = 0; i < arr.length; i++) {
if (arr[i].substr(0, arr[i].indexOf("=")).replace(/^\s+|\s+$/g, "") == "taxibleC") {
return arr[i].substr(arr[i].indexOf("=") + 1);
}
}
}
var multipleVAT = 1;
然后我有另一个函数来初始化cookie:
function ChangeVATValue()
{
if ($("#vatEnable").is(':checked')) {
multipleVAT = 1;
} else {
multipleVAT = 0;
}
document.cookie = "taxibleC=" + multipleVAT;
alert(getCookie());
}
当我使用alert(getCookie());
时,它的值为1。
但是当我点击另一页时,警报为0.
有人能告诉我,为什么我无法在我的asp.net MVC 3.0项目视图中使用getCookie()
方法访问会话。
答案 0 :(得分:2)
这是因为你的cookie可能会立即过期,如果可能的话,可以将cookie过期时间发送到认证限制,而不是在另一个解决问题的页面上访问cookie的值
类似
document.cookie =
'ppkcookie1=testcookie; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/'
答案 1 :(得分:1)
您需要在Cookie中设置path
以便在不同页面中进行访问
;path=/
例如,
document.cookie = 'YOUR COOKIE DATA;path=/'