如何从localhost请求json数据以避免Access-Control-Allow-Origin错误

时间:2016-03-24 15:13:14

标签: angularjs cors httprequest

我试图使用angular $ http

从isbndb.com获取图书数据
$http({
    method : "GET",
        url : "http://isbndb.com/api/v2/json/********/book/" + bookIsbn,
        headers: {
           "Content-Type": "application/json",
           "Access-Control-Allow-Origin": "*",
        }
}).then(function(response) {

    var test = response.data;

    console.log("data: -> " + response.data);

}, function (error) {

    console.log("error: -> " + error);

});

但我一直收到CORS错误

XMLHttpRequest cannot load http://isbndb.com/api/v2/json/QY5NYWAT/book/9781405226257. 
 Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.     
 Origin 'http://localhost:3000' is therefore not allowed access.

通过网络浏览器或邮递员测试URL返回JSON数据OK ... 这是一个简单的Firebase应用程序,所以我没有后端,只有从localhost测试应用程序。 我没有尝试部署应用程序,看看我是否需要在本地PC上工作。

更新 :根据How does Access-Control-Allow-Origin header work? @dex的消息我明白这是一个响应标头,可能是由于使用了localhost测试服务器引起的。

note :firebase托管(https://www.firebase.com/docs/hosting/guide/full-config.html#section-advanced-properties)有一个标头设置,但这并没有解决使用localhost的问题......

我该如何解决这个问题?

0 个答案:

没有答案