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の問題ではないと思います。
何か案が ?ご協力いただきありがとうございます