ajax发布错误:NETWORK_ERR:Android设备上的XMLHttpRequest异常101

时间:2013-11-06 10:00:13

标签: javascript android jquery ajax

我有以下ajax帖子:

$.ajax({
    type: "POST",
    url: "http://sampleurl",
    data: {
        'email':$('#email').val(),
        'password':$('#password').val(),
    },
    cache: false,
    async: false,
    crossDomain: "true",
    beforeSend: function() { },
    complete: function() { },
    success: function(resp) {
        alert(resp);
        var result = $.parseJSON(resp);

        if (result.result == "Success") {   
            alert(emailID,password);
        }
        else {
            alert(result.msg);
        }
    },
    error: function(request, status, error) {
        //$("#LoadingImage").hide();
        alert("Result = " + error);
    }
});
return false;
});

在Android平板电脑上返回此错误:NETWORK_ERR: XMLHttpRequest Exception 101

我已经阅读了很多关于此错误的SO帖子,大多数建议我将async设置为true。这会删除错误消息 - 但它仍然是一个错误,我从来没有得到有效的数据。它似乎删除了没有帮助的错误消息。

请帮帮我。

2 个答案:

答案 0 :(得分:4)

最后我得到了解决方案.. Android 4.1和4.2引入了这个新方法:getAllowUniversalAccessFromFileURLs

由于它不适用于低于16的API,因此该解决方案需要更多行,以确保这种不存在的方法不会导致以前的API出错。

int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.JELLY_BEAN){
    fixNewAndroid(webView);
}

@TargetApi(16)
protected void fixNewAndroid(WebView webView) {
try {
    webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
} catch(NullPointerException e) {
}

答案 1 :(得分:0)

尝试使用您域中的位置,例如./directory/yourfile.php 我在IE7中有这个问题