Android PhoneGap应用程序:获取具有相对URL的本地文件时,jQuery getJSON获取404错误
我有一个HTML/JavaScript应用程序,我正试图通过 通过浏览器一切正常,应用程序唯一的问题是,在尝试加载我的本地资源时,对Android PhoneGap应用程序:获取具有相对URL的本地文件时,jQuery getJSON获取404错误,android,jquery,cordova,Android,Jquery,Cordova,我有一个HTML/JavaScript应用程序,我正试图通过 通过浏览器一切正常,应用程序唯一的问题是,在尝试加载我的本地资源时,对getJSON的调用返回404错误 罪魁祸首是: $.getJSON( "./shapes/json/" + abbr + '.json', gotJSON(abbr) ); 我已将每个域列为白名单,以确保: <access origin="*" /> config.pathis“file:///android_asset/www“我得到了0作为成功
getJSON
的调用返回404错误
罪魁祸首是:
$.getJSON( "./shapes/json/" + abbr + '.json', gotJSON(abbr) );
我已将每个域列为白名单,以确保:
<access origin="*" />
config.path
is“file:///android_asset/www“我得到了0
作为成功代码(表示'file://'请求成功)。但是xhrShapes.responseText
为空,所有操作都在调用JSON.parse
时停止。我觉得我遗漏了一些简单的东西…问题与代码无关,而是与文件名区分大小写有关。。。我的abbr
变量是大写的,但文件名是小写的<代码>$.getJSON工作得很好,现在我已经纠正了这一点(尽管现在我的骄傲需要一些修复)。“/shapes”=>”。/shapes”?单点是正确的。shapes
文件夹与运行JavaScript的index.html位于同一文件夹中。我动态地添加了一个图像并设置了src
,这很有效,所以我猜这是HTTP请求的某种问题。
var xhrShapes = new XMLHttpRequest(), xhrSuccess = gotJSON(abbr);
xhrShapes.open('GET', config.path + "/shapes/json/" + abbr + ".json");
xhrShapes.onreadystatechange = function(e){
if( this.readyState === 4 ){
if( this.status === xhrSuccessCode ){
xhrSuccess(JSON.parse(this.responseText));
}
}
}
xhrShapes.send();