在我使用 phonegap 制作的 android 应用程序中,用户可以登录。当他们这样做时,JQuery 会获取他们的登录名和密码,并按照 HTTP 基本身份验证规范使用他们的凭据进行 ajax 调用。一切正常。
但是,当用户设置错误的凭据时,我遇到了处理这种情况的问题。在 .error() 回调中,我想显示状态 401 的特定消息(如“身份验证失败”)和其他状态的另一条消息(“技术问题”)。我的代码:
$.ajax({
url: "http://exemple.com",
type: "GET",
dataType: "text",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
beforeSend: function (xhr)
{
xhr.setRequestHeader("Authorization", "Basic "+$.base64.encode(email+":"+password));
},
success: function() {
//my success callback
},
error: function(xhr) {
if(xhr.status===401) {
//"authentication failed"
}
else {
//"technical problem"
}
}
});
此代码在浏览器中运行良好。状态 401 已发送。但是当我在我的phonegap android应用程序中测试时,状态发送为0。当我的凭据良好时,状态发送为200,并且我的应用程序的其他请求运行良好,所以我认为这不是一个cors问题。
任何想法 ?谢谢你的帮助