Android 在手机上获取收藏失败,但在电脑上可以正常工作

Android 在手机上获取收藏失败,但在电脑上可以正常工作,android,collections,fetch,apigee,Android,Collections,Fetch,Apigee,我的代码在使用Chrome浏览器的桌面上运行时可以很好地获取apigee集合 当我通过phonegap/android studio将其转换为应用程序并在android手机上运行时,它会显示我的警报:“获取远程候选数据时出错”,这意味着获取返回了一个错误 为什么这会在桌面上而不是手机上获取收藏? (guest已获得收藏的权限) 答案取决于您使用的PhoneGap版本。请查看config.xml文件。在文件的底部(默认情况下),您应该会看到一行,在旧版本的PhoneGap中,“something

我的代码在使用Chrome浏览器的桌面上运行时可以很好地获取apigee集合

当我通过phonegap/android studio将其转换为应用程序并在android手机上运行时,它会显示我的警报:“获取远程候选数据时出错”,这意味着获取返回了一个错误

为什么这会在桌面上而不是手机上获取收藏? (guest已获得收藏的权限)


答案取决于您使用的PhoneGap版本。请查看config.xml文件。在文件的底部(默认情况下),您应该会看到一行,在旧版本的PhoneGap中,“something here”是127.0.0.1/*。我不确定它从哪里得到了改变(我相信是3.2),但现在它允许应用程序与任何网站/应用程序进行通信。将该行更改为通配符并重新编译–这应该可以解决问题。

err对象中包含的任何详细信息?例如,是HTTP错误、权限错误还是解析错误?我想我记得Android项目中需要编辑一些权限设置,以允许phonegap项目调用API。对不起,我没有具体的资料。
  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();
        }
        });
}