我正在使用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文件。提前谢谢。