2013-01-18 49 views
0

我做了Phonegap/cordova 2.3应用程序,从服务器加载json中的配方列表并输出配方的名称。在浏览器中它工作正常。但是当我编译到iOS的JSON没有加载,我看到一个空白的屏幕。但是,当我将服务器输出放入公用文件夹中的一个文件并加载该文件时,它在iOS中可以正常工作。所以我会说,json输出没有错。Phonegap不加载json - 浏览器做

<access origin="*" /> 

我怎样才能解决这个问题:

function load() { 
    $.getJSON('http://localhost:3000/nl/recipes.json', function(data) { 
    for (i in data) { 
    document.write(data[i].name+"<br>") 
    }   
}); 

外部主机在配置文件中允许的?

+0

什么是您的服务器?从手机访问'localhost'可能是问题 – mornaner

+1

您的手机是网络服务器吗? –

+0

手机不是网络服务器,但我使用iPhone模拟器。网络服务器与模拟器位于同一台机器上。请注意,iPhone模拟器确实加载localhost:3000/test.json – dirkjan

回答

4

地址不是本地主机了,因为你在不同的机器上。

如果您位于同一网络中,则需要将localhost更改为您计算机的本地IP地址。像这样的东西;

$.getJSON('http://192.168.1.10:3000/nl/recipes.json', function(data) { 
... 
}); 
+0

我试过了。它不幸的是没有帮助。如果这是解决方案,iOS怎么会在公用文件夹中加载文件(具有相同的内容)?我用这个位置:http:// localhost:3000/test.json,它的工作。 – dirkjan

+0

修正了它。问题不在于本地主机,而是需要授权。 – dirkjan