Another issue which occurs in Android 4.0+ (but not in older versions like 2.3)... is you have to manually set the Authorization header in before send. Using the new username: password: options added in jQuery 1.7 do NOT work.
The example below illustrates what you have to do.
Note: This requires the base64 jquery plugin.
$.ajax({
url: "https://yoururl,
type: method,
dataType: 'json',
// username: username, // Doesn't work on ANDROID
// password: password, // Doesn't work on ANDROID
beforeSend: function (xhr)
{
xhr.setRequestHeader("Authorization", "Basic " + $.base64.encode( username + ":" + password ));
},
data: options.data,
success: function(response) {
},
error: function(jqXHR, textStatus, errorThrown) {
}
});