jquery - 使用 Cordova jquery ajax 调用未获得 401 授权,Upto Phonegap 1.4 工作正常

标签 jquery cordova basic-authentication

我已将项目从 Phonegap 1.4 升级到 Cordova 1.8.1。当我在 Phonegap 1.4 中传递无效的用户名/密码时,对 Web 服务的 Ajax 调用在 401 Unauthorized 下工作正常。

升级后它不起作用,我没有得到任何响应并且网络服务停留在那里。

如果将代码更改为 Phonegap 1.4 ,它就会开始工作。

请帮忙

最佳答案

过去几个月我一直遇到这个问题,终于解决了。

首先,我们使用的临时解决方法是对请求实现超时期限。这确实有效,但响应始终是 404。我们不知道它是否确实失败了身份验证,或者我们的服务是否已关闭。对于我们的系统来说这不是一个可接受的解决方法。

最后,经过多次谷歌搜索,我发现了实际的问题。

当返回 401 时(这是基本身份验证,身份验证失败),它会在响应中添加一个 header ,称为“WWW-Authenticate”。这告诉浏览器提示用户尝试登录。 iOS webview 不知道该怎么办,所以这就是应用程序挂起的原因。

在您的服务中,您所需要做的就是删除 WWW-Authenticate header ,然后您应该开始在错误函数中看到 401。

关于jquery - 使用 Cordova jquery ajax 调用未获得 401 授权,Upto Phonegap 1.4 工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12060619/

相关文章:

javascript - Jquery Select2 动态生成

authentication - react ,Axios 问题 : Response for preflight does not have HTTP ok status ( 404 not found )

python - Flask HTTP Basicauth - 它是如何工作的?

javascript - jQuery 按钮不执行?

javascript - 从同一域中的 URL 获取标题

javascript - jQuery - 子行 td 位于 th 下方而不是左侧(对齐)

javascript - document.referrer 存在但始终为空

ios - 没有指定 'teamID' 并且在 ionic 的存档中找不到团队 ID

android - 在 Phonegap 应用程序中存储身份验证的正确方法

ios - 基本身份验证示例