请阅读更新这个答案在底部。
原来的答案
我已经找到了问题所在,并设法得到基本的认证工作。
问题是,Web服务器期待基本身份验证的细节与请求一起发送先发制人 。
要做到这一点使用“ 头 ”的jQuery AJAX的特性如下图所示:
$.ajax
({
type: "GET",
url: "https://webserver/authenticate",
headers: {
"Authorization": "Basic " + btoa(USERNAME + ":" + PASSWORD)
}
})
.done(function(){
alert('Authenticated!')
})
.fail(function(){
alert('Error!')
});
请参阅相关的答案: https://stackoverflow.com/a/11960692/1463497
更新
我有在iOS的网络视图中使用基本身份验证没有可靠的方法末。 即一切都很好,如果输入正确的凭据,但是当他们不与401质询响应走来,iOS的Web视图似乎无法处理它。
最后,Web服务认证是通过传递“用户名”和“密码”参数作为URL的一部分来实现:
url: "https://webserver/authenticate?username=abc&password=123"
这是唯一一致的方式,我发现越来越认证的Web视图横跨iOS和Android的工作(通过摆脱基本身份验证的完全)的。 当然,这意味着更新的Web服务本身以这种方式来接受认证。