1

我有以下 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;
});

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

我已经阅读了一堆关于此错误的 SO 帖子,大多数建议我设置asynctrue. 这确实删除了错误消息 - 但它仍然是一个错误,我从来没有得到有效的数据。它似乎只是删除了无用的错误消息。

请帮我。

4

2 回答 2

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) {
}
于 2013-11-06T12:40:38.323 回答
0

尝试在您的域中使用位置,就像./directory/yourfile.php 我在 IE7 中遇到这个问题一样

于 2013-11-06T11:03:37.680 回答