有两个部分给你的问题。
(1)使用JavaScript管理Cookie:
首先,您可以创建几个帮手功能,这将使它更容易为你设置/获取等。无论您想饼干:
function setCookie(name, value, exp_y, exp_m, exp_d) {
var cookie_string = name + "=" + escape(value);
var expires = new Date(exp_y, exp_m, exp_d);
cookie_string += "; expires=" + expires.toGMTString();
document.cookie = cookie_string;
}
function getCookie(cookie_name) {
var results = document.cookie.match('(^|;) ?' + cookie_name + '=([^;]*)(;|$)');
return results ? unescape(results[2]) : null;
}
现在,您可以根据需要调用这些帮助函数。在您的使用情况,当您的身份验证返回“成功”标志,可以设置为“的userName”像这样的饼干:
setCookie('myCookie', userName, 2050, 1, 1);
注意,在上面的例子中,我们通过2050年一个任意的高值,以便这个cookie不会过期。否则,您可以将“到期”标志完全留下来以创建仅会话cookie。
无论何时,你需要记得, “的userName” 传递到AJAX调用,你得到的饼干:
var userName = getCookie('myCookie');
(2)...有没有这样做的更好的办法这个?
是的。一旦验证成功,您可以在服务器端的会话变量中保存“userName”。现在,只要您在查询中需要当前登录的“userName”,就可以使用该会话变种。一旦用户注销,您将清除会话。一旦会话超时,会话将自动清除。所以,你可以免于家务管理。
希望有所帮助。
我不能够给你一个很好的答案,因为没有通过我自己使用过,但看看文档。cookie 这里有人有相同的问题http://stackoverflow.com/questions/4825683/how-do-i-create-and-read-a-value-from-cookie – demonking