我的本机 iPhone 应用程序是用 PhoneGap 和 jquery 开发的(因此它基于浏览器),可以登录到 Web 服务器,一旦登录,用户就可以访问他们的资源。一旦用户通过身份验证,服务器就会在 cookie 中设置会话 ID。
我对这个方案没有任何问题,但我想知道cookie存储在哪里,因为当我执行alert(document.cookie)时,它返回空字符串。
jquery 中的 ajax 函数是否有可能在内部管理 cookie 并将其发送到同一域的每个请求?
如果您希望您的应用程序自动为您管理 cookie,请将其添加到您的 appDelegate.m 文件中:
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage
sharedHTTPCookieStorage];
[cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
如果你想自己管理会话信息,你可以像这样执行所有ajax请求:
var request = {
url: my_server_url,
success: function(response, status, request) {
var header = request.getAllResponseHeaders();
var match = header.match(/(Set-Cookie|set-cookie): (.+?);/);
if(match)
my_saved_cookie = match[2];
},
}
if(my_saved_cookie)
request.headers = { Cookie: my_saved_cookie };
$.ajax(request);
在我的应用程序中,我自己使用第二种方法管理会话 cookie,直到我发现第一种方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)