Android PhoneGap应用程序:获取具有相对URL的本地文件时,jQuery getJSON获取404错误

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作为成功

我有一个HTML/JavaScript应用程序,我正试图通过

通过浏览器一切正常,应用程序唯一的问题是,在尝试加载我的本地资源时,对
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();