从URL获取JSON文件,XMLHttpRequest无法加载错误

问题描述:

我需要从URL读取JSON文件并显示。 我已阅读了很多帖子,但仍无法解决问题。从URL获取JSON文件,XMLHttpRequest无法加载错误

网址:http://webapp.armadealo.com/home.json

我面对这样的错误:XMLHttpRequest的无法加载

的代码如下

$.getJSON("http://webapp.armadealo.com/home.json", function(data){ 
alert(data); 
}); 

我已经尝试添加到URL

&callback=? 

,使它是一个jsonp,仍然没有运气。我也用过

<meta http-equiv="Access-Control-Allow-Origin" content="*" /> 

还是没有运气。

我们需要在服务器端做什么? 遇到此类错误并已找到解决方案的人请帮助我! 非常感谢!

+0

你的脚本所在的域是什么?你是否在控制webapp服务器?如果是这样,你能告诉我们相关的服务器端代码吗? – Bergi 2012-07-16 20:41:44

+1

那个元标签在那里做了什么?您想要提供JSON,您需要将其作为HTTP *标头*发送。 – Bergi 2012-07-16 20:43:23

由于安全原因,您无法进行类似的跨域AJAX请求。所以,如果要加载来自其他域的内容,你将不得不使用一种变通方法:JSONP(more infoexample

使用了AJAX请求下面的代码:

$.ajax({ 
    url: 'http://webapp.armadealo.com/home.json', 
    type: 'GET', 
    jsonpCallback: 'myCallback', 
    dataType: "jsonp", 
    success: function(data) { 
     console.log(data); 
    } 
}); 

为了这工作中,你将必须包装在括号中的JSON数据,并在开始添加回调名称:

myCallback({ ... JSON ... }) 


编辑:只注意到你已经尝试过使用JSONP ...那么,至少上面的代码适用于我,也许你想试试看。 ;)

+0

谢谢你的回复。但是对于上面的代码,你是否能够获取数据?可以说,如果你只是'提醒(数据)'你会得到输出吗?我在javascript控制台,chrome浏览器中收到意外的令牌错误。 – LINGS 2012-07-18 16:18:25

+1

您是否将回调函数的名称添加到JSON数据中?它不工作没有(所以你一定要访问JSON文件或生成例程)...为了测试我的代码,我下载了你的JSON文件,添加了回调并上传到我自己的网络服务器。 – Aletheios 2012-07-18 19:13:00

+0

好,太好了,谢谢!然后我将不得不在服务器端工作。我希望能在不改变服务器的情况下找到替代方案。 – LINGS 2012-07-20 03:33:40