我有一个HTML / JavaScript应用,我试图通过Phonegap Build app
使用PhoneGap转换为应用通过浏览器一切正常,应用程序遇到的唯一问题是,在尝试加载本地资源时,对getJSON
的调用返回404错误。
这是罪魁祸首:
$.getJSON( "./shapes/json/" + abbr + '.json', gotJSON(abbr) );
我已将每个域列入白名单,只是为了确定:
<access origin="*" />
这是否属于手机空间环境无法实现的?或者我做错了什么?
如果需要,我可以将文件托管在其他地方并进行跨域ajax调用,但我宁愿将文件放在设备上。
目前正在Android上进行,这是我目前唯一可以测试的系统。
更新
我现在正在尝试:
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();
config.path
是“file:/// android_asset / www”,我得到0
作为成功代码(表示'file://'请求成功)。但xhrShapes.responseText
为空,一切都在JSON.parse
的呼叫停止。我觉得我错过了一些简单的事情......
答案 0 :(得分:1)
问题与代码无关,而是文件名区分大小写...我的abbr
变量是大写的,但文件名是小写的。 $.getJSON
完美无缺,现在我已经纠正了这一点(尽管现在我的骄傲需要一些修复)。