“XMLHttpRequest无法加载http://hnify.herokuapp.com/get/top”...没有'Access-Control-Allow-Origin'标题存在

时间:2014-08-17 19:01:41

标签: jquery rest get xmlhttprequest

我正在使用REST API(特别是this Hacker News API),并使用jQuery的.get方法来检索数据。这是我到目前为止唯一的代码:

$.get( 'http://hnify.herokuapp.com/get/top', function(data) {
    'use strict';
    console.log(data)
});

这是我面临的错误:

XMLHttpRequest cannot load http://hnify.herokuapp.com/get/top. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9000' is therefore not allowed access. 

我在Mac上使用最新的Google Chrome。我目前正通过localhost查看。

我非常非常熟悉REST API。提前谢谢。

1 个答案:

答案 0 :(得分:0)

这是因为浏览器不允许来自不同域的请求,在这种情况下,您尝试从localhost向http://hnify.herokuapp.com/get/top发出请求。

您可以使用JSONP来处理这种情况并“解决”问题。 http://json-p.org/

了解有关CORS的更多信息。 http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

希望它有所帮助。