我正在尝试构建我的第一个移动应用程序,它需要连接到我的mysql数据库并使用json返回数据。这很好,目前我有一个登录系统,一旦确定存在用户名和密码,它就会返回成功消息。
对于下一步,我想在我的页面上使用ajax连接到我的数据库并返回一些数据。现在我想要返回的数据只需要是该用户的数据。
所以我的想法,这是我需要一些建议的地方,是当返回成功消息时,我将输入的用户名设置为cookie,然后我可以使用该cookie作为我的一部分查询?
这是可能的还是有更好的方法?我是新手用Javascript进行开发,通常只使用php,所以任何建议都会很受欢迎。
由于
答案 0 :(得分:1)
您的问题分为两部分。
(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;
}
现在,您可以根据需要调用这些辅助函数。在您的用例中,当您的身份验证返回“成功”标志时,您可以使用“ userName ”设置cookie,如下所示:
setCookie('myCookie', userName, 2050, 1, 1);
请注意,在上面的示例中,我们将2050作为任意高值传递,以便此cookie不会过期。否则,您可以完全保留“ expires ”标志以创建仅限会话的Cookie。
无论何时,您需要回忆一下“ userName ”以传递给AJAX调用,您将获得cookie:
var userName = getCookie('myCookie');
(2)......有更好的方法吗?
是。验证成功后,您可以在服务器端的会话var中保存“ userName ”。现在,只要您在查询中需要当前登录的“ userName ”,就可以使用该会话var。一旦用户注销,您就可以清除会话。一旦会话超时,会话将自动清除。所以,你可以免于家务管理。
希望有所帮助。
答案 1 :(得分:1)
试试这个简单的方法:
document.cookie ='cookie1=test; expires=Fri, 3 Aug 2013 20:47:11 UTC; path=/'