Phonegap android项目在模拟器上工作而不是在实际手机上

时间:2012-05-09 20:35:00

标签: javascript cordova xmlhttprequest

我正在运行最新版本的android及其SDK,我正在使用phonegap来创建移动应用程序。我的问题是我正在请求一个Web服务,我在我的HTML中的标签中显示收到的消息的内容。 Web服务工作正常,显示功能正常,它甚至可以在模拟器上运行,没有任何错误。当我尝试在真正的Android设备上运行相同的应用程序和代码时出现问题....没有任何反应。我正在测试的设备有Android版本2.3.1和4.0。我用来测试的模拟器是2.2,android项目是用android sdk 2.2版创建的。为了确保问题与Android操作系统版本无关,我还使用4.0版创建了一个测试项目,并在具有相同操作系统版本的Android设备上进行了测试,我遇到了同样的问题。

以下是我的代码片段。

 var xhr = new XMLHttpRequest();
            xhr.open("GET", "http://feeds.delicious.com/v2/json/popular", false);
            xhr.send(null);
            if (xhr.readyState==4 && xhr.status==200){

                clearLoadingScreen();

                var popular= $("#disclaimer").html("");
                popular= "";

                $("#popular").append('<div class="popular"><p>Popular:</p>'+ "This is an example popular list<br />" + popular+ ' </div>'); 
           }
像我说的那样,代码在模拟器上完美运行,当index.html页面加载时,我看到一个空白的屏幕,几秒钟之后就填充了。当我将代码移植到手机时,它不起作用。有没有人有任何想法?

2 个答案:

答案 0 :(得分:1)

检查xhr.status == 0。有时从file://协议运行时,您将获得状态0。

答案 1 :(得分:1)

检查位于以下位置的政策: project / res / xml / cordova.xml(如果使用Cordova - 这是手机差价1.6?或更高)

如果是较低版本,则称为phonegap.xml。