Javascript 为什么这个ajax请求返回的状态码是0而不是200?
我有一个简单的函数来发出ajax请求, 我使用它打开本地json文件: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
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安全性--允许从文件访问--允许文件访问,没有问题,您可以尝试一下