微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 存储和发送不在PhoneGap应用程序中工作的http Cookie

我正在Xcode中开发一个PhoneGap应用程序,它使用web api与服务器通信。 api接受标准http请求。作为用户认证过程的一部分,设置了一个cookie,该Cookie被设置为在每个后续请求到api的http标头中发送。

在对api的登录呼叫期间,我可以清楚地看到,作为响应头的一部分,正在发送一个cookie。然而,它似乎不存储,也不会在每个新的api调用的http请求头中发送。

调用api,我使用jQuery的$ .getJSON调用

我发现以下问题和答案:phonegap: cookie based authentication (PHP) not working [webview]

上面的答案建议在应用程序委托的init中将NShttpcookiestorage cookieAcceptPolicy设置为NSHTTPCookieAcceptPolicyAlways。我已经尝试过,似乎并没有解决这个问题。另外,根据Apple’s documentation认的cookieAcceptPolicy是NSHTTPCookieAcceptPolicyAlways。

关于如何获取cookie存储和发送工作的建议受到高度赞赏。

解决方法

CookieStorage应该并且确实保存cookie,以便在后续请求中使用。它甚至可以自动添加它们,如果您使用,例如,NSURLRequest …但只有当它是在cookie上设置的相同的域。

以前我遇到过类似的问题,

可能的原因可以是:

1)cookie有一个不同的域,你发送的请求,可能是由于重定向…例如,如果请求发送到http://www.somesite.com,这实际上是重定向http://somesite.com(这是真正的域名,cookie将保存为sometime.com url / domain,现在www.somesite.com

2)可能的“会话唯一”和“到期日”标题在cookie上设置不正确,这导致cookie存储丢弃它们

希望这有帮助,从经验知道cookie存储可以令人沮丧的时候。

原文地址:https://www.jb51.cc/jquery/182636.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐