Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript getJSON不工作(可能跨域)_Javascript_Jquery - Fatal编程技术网

Javascript getJSON不工作(可能跨域)

Javascript getJSON不工作(可能跨域),javascript,jquery,Javascript,Jquery,我从服务器上获取JSON,当我在浏览器中键入url时,我可以看到JSON数据。当我使用curl获取JSON时,我也可以看到数据。但是,当我试图在本地使用html页面访问数据时,我得到了一个错误。我试过使用 $.support.cors = true; 但我仍然得到一个错误,是否有任何我可以解决这个可能的跨域问题 谢谢, Matt用于跨域请求。另请参阅,以了解更简单的jsonp处理(甚至是基本的错误处理)。这是一个很好的解决方案。如果服务器支持JSONP,那么您可以通过getJSON将回调=?附

我从服务器上获取JSON,当我在浏览器中键入url时,我可以看到JSON数据。当我使用curl获取JSON时,我也可以看到数据。但是,当我试图在本地使用html页面访问数据时,我得到了一个错误。我试过使用

$.support.cors = true;
但我仍然得到一个错误,是否有任何我可以解决这个可能的跨域问题

谢谢,
Matt

用于跨域请求。另请参阅,以了解更简单的jsonp处理(甚至是基本的错误处理)。这是一个很好的解决方案。

如果服务器支持
JSONP
,那么您可以通过
getJSON
回调=?
附加到url来获取数据

但如果响应只是json格式,则如下所示:

{a: 1, b:2}

那么就不能使用ajax直接获取数据。一种解决方案是在服务器端制作一个代理,获取远程json数据,然后再次输出,以避免跨域问题。

其他答案建议了合适的替代方案(JSONP),但解释了为什么它不起作用

cors
的支持不是你可以打开的。这是浏览器和服务器必须支持的

有关更多信息,请参见,但要总结:

  • 服务器需要发出一个
    访问控制允许源代码:
    标题(或将
    *
    裁剪为您希望允许的域)
  • 您需要使用Firefox 3.5、Safari 4、Chrome 3、IE 8或Opera 12

您还可以在上查看
jQuery.support.cors
的文档。

您能给我一个例子吗?