我的代码在Chrome浏览器上运行时可以很好地获取apigee集合
当我通过phonegap/android-studio将其转换为应用程序并在我的android手机上运行时,它显示了我的警报:"获取远程候选数据错误",这意味着获取返回了一个错误。
为什么这会在桌面上获取集合而不是在手机上?(guest有GET权限)
function loadRemoteData() {
endorseds = new Apigee.Collection({
"client": client,
"type": "endorseds",
"qs": {
"limit": 4000,
"ql": "order by order,district,name"
}
});
$.mobile.loading("show");
endorseds.fetch(function(err, data) {
if (err) { alert("error fetching remote candidate data ");
if(lastLocalDate > 0){
loadLocalData();
}
$.mobile.loading("hide");
} else {
alert("remote fetch ok");
localStorage.setItem('endorseds', endorseds.serialize());
if(lastRemoteDate == 0) lastRemoteDate = getToday();
localStorage.setItem('lastdate',lastRemoteDate);
$.mobile.loading("hide");
showMain();
}
});
}
答案取决于您正在使用的PhoneGap版本。看一下config.xml文件。在文件的底部(默认情况下),您应该看到一行"这里的某物"在旧版本的PhoneGap中是127.0.0.1/*。我不确定它在哪里得到了改变(3.2,我相信),但它现在允许应用程序与任何网站/应用程序通信。将该行改为通配符并重新编译-这应该可以解决问题。