【发布时间】:2016-08-29 14:52:51
【问题描述】:
我一直想知道从 XMLHttpRequest 接收到的 cookie 存储在哪里(在 Android/iOS 中)......
情况:
我执行 XHR 请求以进行身份验证。出于某种原因,这会启动一种会话,并且我执行的所有其他请求不再需要凭据。这种情况是需要的,但应用程序中有一个部分需要其他凭据。当我执行另一个 XHR 请求时,无论我使用哪个凭据,它都会继续使用我最初输入的凭据。
我用什么:
- jQueryMobile
- 角度
我注意到 [ANDROID]:
- 凭据或会话在应用重新启动时被终止! (不是在后台时 - 就像按下后退按钮时一样 - 它需要完全关闭)。那么我必须重新登录。
我的尝试没有成功:
-
当我想要使用新的凭据时向 URL 添加一个参数。
var xhr = new XMLHttpRequest; xhr.open('GET', 'test.html?_=' + new Date().getTime()); xhr.send(); InAppBrowser 功能:
window.open("index.html", "_self", "location=no,clearsessioncache=yes");
- 从 Cordova 文件插件中删除了 applicationCache。
- 一个我认为会有所帮助的插件:https://github.com/bez4pieci/Phonegap-Cookies-Plugin
我想要什么:
- 我不知道在哪里可以找到该会话...我真的很想知道它的存储位置。我需要一种删除/清除它的方法,以便我可以使用其他 XMLHttpCredentials 执行另一个成功的调用。
- 请记住,我仍然想使用 XMLHttpRequest 自动提供的缓存功能。
我们将不胜感激专家的任何帮助。
【问题讨论】:
-
您是否尝试过检查
document.cookie以查看第一次访问后是否存储了身份验证cookie?如果是这样,你会想在那里清除它。 Cordova 应用程序将使用平台提供的任何浏览器工具包(WebView、WkWebview 或 UIWebView),它们都会为您创建的会话存储 cookie。 -
console.log(document.cookie);日志“”。
标签: android ios cordova caching xmlhttprequest