getJson()。done()不适用于远程主机

时间:2013-10-17 19:14:18

标签: javascript jquery json html5 getjson

我正在使用phonegap + html5 + JS + CSS开发移动应用程序。对于这个应用程序,我需要从远程主机加载一个大的JSON(200-500kb大小)文件,如“www.mysite.com/file.json”。

这是我试图从localhost运行的index.html文件中的代码。

<script type="text/javascript">

    var myAPI = "http://www.mysite.com/file.json?callback=?"; //for this one .done() does not execute
      // var myAPI = "file.json"  //but for this one .done() executes
    var json = $.getJSON( myAPI, {
        format: "json"
        }).done(function( data ) {    
            /*for remote link nothing inside this done() executes but works for local link*/
            $.each( data, function( i, item ) {
            $("#someDiv").append("<div>"+item.id+" "+item.name+"</div>")
            })
        });

</script> 

我使用jquery getJson()然后使用done()在加载完成后显示加载的json数据。但是当我将file.json文件放在本地目录中时,唯一的时间是done()执行。使用远程链接时done()不执行。我使用chrome dev-tool断点检查了它。没有Access-Control-Allow-Origin错误,file.json已正确加载,我可以从devtool的网络(file.json加载时间)和Source(file.json显示在www.mysite.com文件夹)选项卡中确保。< / p>

任何建议如何使用jquery从远程主机加载json文件。提前谢谢。

0 个答案:

没有答案