无法在我的手机页面上获得json结果

时间:2012-03-21 14:48:34

标签: javascript json jquery-mobile cordova

我正在尝试在我的应用程序中获取一些json数据,但它不会出现在结果函数中。

function myLoad(){  
        output.innerHTML = 'in the load';// + items;
        var myJsonUrl = 'http://....be/.../lineup.php';

        $.getJSON(myJsonUrl, function(data) {
                output.innerHTML = "IN THE FUNCTION";
        });

        output.innerHTML = 'END load';
    }

在mu输出div中,我可以看到'在加载',所以它停在.getJSON部分。 我已经包含了正确的jquery库(jquery mobile和jquery1.4)以及来自指定url的json验证。

我做错了什么?

编辑:

在铬合金中,它会感叹。 我正在Eclipse Web浏览器中测试它,因为我正在为Android应用程序工作。 显然浏览器s ** ks。

Troll爵士的想法

=>仍然无法回答我自己的问题

3 个答案:

答案 0 :(得分:1)

我可能在回答这个问题时有点迟,但正在研究phonegap并遇到类似的问题。您需要在ExternalHost数组下的 phonegap.plist 文件中添加网址。

我添加了这个,现在我从外部URL获取JSON数据。

希望这有帮助。

答案 1 :(得分:0)

jsonUrl与脚本位于同一个域中吗?我不太确定,但我认为你不能用AJAX脚本做跨域请求。

更新

php脚本是否发送了json标头? header('Content-type: application/json')

答案 2 :(得分:0)

您确定没有收到数据吗?您的示例很可能会使用IN THE FUNCTION覆盖END加载,因为回调将在函数完成后执行。

因此output.innerHTML会获得如下值:

1. "in the load".
--> Ajax request start
2. "end load"
--> Ajax request finishes
3. "in the function"

我建议尝试在回调中输出data,并从回调函数外部删除innerHTML更改。