Javascript 为什么这个ajax请求返回的状态码是0而不是200?

Javascript 为什么这个ajax请求返回的状态码是0而不是200?,javascript,ajax,Javascript,Ajax,我有一个简单的函数来发出ajax请求, 我使用它打开本地json文件: ajaxRequest: function(url, callback) { var xmlHTTP= new XMLHttpRequest(); xmlHTTP.onreadystatechange= function() { if(xmlHTTP.readyState == XMLHttpRequest.DONE) { // success code

我有一个简单的函数来发出ajax请求, 我使用它打开本地json文件:

ajaxRequest: function(url, callback) {
    var xmlHTTP= new XMLHttpRequest();
    xmlHTTP.onreadystatechange= function() {
        if(xmlHTTP.readyState == XMLHttpRequest.DONE) {
            // success code
            // 0 for Google Chrome
            // 200 for Android webview
            // 200 in jQuery
            if(xmlHTTP.status === 0 ) {
                callback(xmlHTTP.responseText);
            }
        }
    }

    xmlHTTP.open("GET", url, true);
    xmlHTTP.send();
}
我就是这样实施的:

ajaxRequest("json/1.json", function(response) {

});
我的问题是状态码

如果我使用Google Chrome版本45.0.2454.85进行测试,并且禁用了网络安全性, 成功代码为0,但如果我使用jQuery ajax函数,如下所示:

$.get( "json/1.json", function( data ) {

});
成功代码是200

我正在做一个移动应用程序(混合),在Android webview中,使用我的香草javascript功能, 返回的状态代码是200(类似于jquery),而不是0


那么,如何像jquery一样,通过我的香草javascript函数始终获得200的状态代码呢?

状态0被取消。这似乎是由CORS权限引起的。请参阅以了解潜在原因。感谢@Phylogenesis,我使用以下标志启动chrome:--禁用web安全性,onreadystatechange正确返回json,状态代码为0开发混合应用程序时,我使用以下参数:--禁用web安全性--允许从文件访问--允许文件访问,永远不会出现问题,您可以给它一个快照状态0已取消。这似乎是由CORS权限引起的。请参阅以了解潜在原因。感谢@Phylogenesis,我使用以下标志启动chrome:--禁用web安全性,onreadystatechange正确返回json,状态代码为0开发混合应用程序时,我使用以下参数:--禁用web安全性--允许从文件访问--允许文件访问,没有问题,您可以尝试一下