PhoneGap を使用して Android アプリを作成しています。jQuery または Zepto を使用して、$.ajax 呼び出しを使用して Web サイト API を呼び出すことができます。ただし、Web サイトが 401 (無許可) 応答を返した場合、ajax 呼び出しからのコールバックはないようです。「成功」、「エラー」、または「完了」のいずれも呼び出されません。
応答が 200 または 500 の場合、同じコードが正常に機能することに注意してください。
Zepto 1.0rc1 および/または jQuery 1.7.2 と PhoneGap 1.6.1 を使用しています。
function make_base_auth(user, password) {
var tok = user + ':' + password;
var hash = btoa(tok);
return "Basic " + hash;
}
$('#button').on('touchstart', function() {
console.log("UPLOAD --- ");
$.ajax({
url: 'https://mywebsite/api/v1.0/test/?ts=' + new Date().getTime(),
type: 'GET',
beforeSend: function (xhr){
xhr.setRequestHeader('Authorization', make_base_auth('username', 'password'));
},
success: function(data, status, xhr) {
console.log("AJAX: SUCCESS: " + data);
$('h1').text("AJAX!!");
},
error: function(xhr, errortype, error) {
console.log("AJAX: FAIL: " + errortype + " - " + error);
$('h1').text("AJAX FAIL");
},
complete: function() {
console.log("--- Complete");
}
});
return false;
});