我试图使用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的问题......
我该如何解决这个问题?