使用Javascript设置cookie
Setting a cookie with Javascript
我正在尝试构建我的第一个移动应用程序,它需要连接到我的mysql数据库并使用json返回数据。这很好,目前我有一个登录系统,一旦它确定用户名和密码存在,就会返回一条成功消息。
下一步,我想在页面上使用ajax连接到数据库并返回一些数据。现在,我想要返回的数据只需要是该用户的数据。
因此,我的想法是,当成功消息返回时,我将输入登录表单的用户名设置为cookie,然后我可以使用该cookie作为查询的一部分吗?
这可能吗?或者有更好的方法吗?,我是用Javascript开发的新手,通常只使用php,所以任何建议都会受到欢迎。
感谢
您的问题有两部分。
(1) 使用JavaScript管理cookie:
首先,您可以创建几个助手函数,这将使您更容易地在任何您想要的地方设置/获取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;
}
现在,您可以根据需要调用这些辅助函数。在您的用例中,当您的身份验证返回'success'标志时,您将cookie设置为"userName",如下所示:
setCookie('myCookie', userName, 2050, 1, 1);
注意,在上面的例子中,我们将2050作为一个任意的高值,这样这个cookie就不会过期。否则,您可以完全保留"expires"标志来创建仅限会话的cookie。
每当你需要调用"userName"来传递给AJAX调用时,你就会得到cookie:
var userName = getCookie('myCookie');
(2) 。。。有更好的方法吗?
是的。身份验证成功后,您可以将"userName"保存在服务器端的会话var中。现在,每当您在查询中需要当前登录的"userName"时,您只需使用该会话变量。一旦用户注销,您就可以清除该会话。一旦会话超时,会话将自动清除。所以,你不用管家务了。
希望能有所帮助。
试试这个简单的方法:
document.cookie ='cookie1=test; expires=Fri, 3 Aug 2013 20:47:11 UTC; path=/'
- 在jquery中为显示/隐藏设置cookie
- 如何为后台更改程序代码设置cookie
- Cookie 设置为 iframe javascript 中的父窗口
- 无法使用 jQuery Cookie 设置 Cookie
- Javascript 将 Cookie 设置为在下拉列表中获取值
- jquery css样式切换器将cookie设置为css
- 将cookie设置为与弹出窗口集成
- 如果浏览器关闭,如何将FireFox cookie设置为持久
- 将 Cookie 设置为复选框状态
- 使用cookie设置/获取输入值
- 检查是否有cookie设置,如果没有输出脚本
- PHP cookie设置为重定向,googlebot也重定向-如何阻止这种情况
- jquery中基于输入框的cookie设置
- JS Cookie设置在2个地方,不覆盖第一个设置
- 如何将cookie设置为WebBrowser控件
- 我如何使用我的代码将cookie设置为在x天后过期
- Javascript cookie设置不工作
- 将cookie设置为表单条目的值
- 在页面加载时立即停止cookie设置
- Cookie设置不正确