我正在尝试显示作为json数据返回的数据。但我收到的数据是错误的。
这是我的代码:
$.ajax({
url:"http://excelonlineclasses.com/test.json",
dataType: "jsonp",
success: function(data){
alert(data.facets.stats.total);
}
});
我尝试了$.getJson
但它不起作用
请找小提琴链接http://jsfiddle.net/6Yj5h/1680/
请给我解决方案。提前谢谢
答案 0 :(得分:0)
ne1410s是正确的:URL提供JSON,而不是JSONP。
您有三种选择:
我相信这是第四种选择,但老实说,它只是从这里得到更多的黑客攻击。
要让服务器支持CORS,您可能需要在标题中添加一些内容,例如:
Access-Control-Allow-Origin: http://excelonlineclasses.com/
Access-Control-Allow-Methods: GET
Access-Control-Allow-Headers: content-type
Access-Control-Max-Age: 10
......但它并没有结束。浏览器可以发送OPTIONS请求(除了GET或POST)以了解服务器对CORS的感受。以上就是服务器应该返回的内容。
如果您想设置CORS,我建议您阅读http://enable-cors.org/
之类的内容答案 1 :(得分:0)
如果您收到跨源请求错误,那么您可以设置标题以允许跨源请求在php中,您可以通过添加以下代码行来实现此目的:
header('Access-Control-Allow-Origin: *');
(但请确保您确实要启用跨源请求 - *来自任何网站!并且您知道自己在做什么。在某些情况下出于安全原因,您可能不想允许此操作)