Wunderground Autocomplete API error: No 'Access-Control-Allow-Origin' header is present on the requested resource
Wunderground Autocomplete API error: No 'Access-Control-Allow-Origin' header is present on the requested resource
我在 React 中使用 axios 创建了一个 GET 请求,如下所示:
searchCity: function(){
return axios.get('https://autocomplete.wunderground.com/aq?query=lond' + '&format=JSON')
}
但是我遇到了错误:
https://autocomplete.wunderground.com/aq?query=lond&format=JSON. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
即使这是 public api 并且不需要访问密钥或任何东西。
是否有另一种方法从 url 中获取 JSON 数据?
所以我花了大约一个小时!
最后好像是某些服务器没有带:
Access-Control-Allow-Origin: *
在他们的回复 headers 中,但是一些服务器兼容 JSONP 而不是标准的 JSON 请求。不过,问题是服务器也必须支持 JSON-P。尽管 URL 中的 format=jsonp,服务器没有响应 JSON-P,而是响应 JSON.
在这种情况下,过去是,现在是,下面的代码使用 react-jsonp:
searchCity: function(){
return jsonp('https://autocomplete.wunderground.com/aq?query=lond', { param: 'cb' }, function (err, data) {
console.log(data.RESULTS);
})
在此处找到有关此问题的更多信息:
我在 React 中使用 axios 创建了一个 GET 请求,如下所示:
searchCity: function(){
return axios.get('https://autocomplete.wunderground.com/aq?query=lond' + '&format=JSON')
}
但是我遇到了错误:
https://autocomplete.wunderground.com/aq?query=lond&format=JSON. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
即使这是 public api 并且不需要访问密钥或任何东西。 是否有另一种方法从 url 中获取 JSON 数据?
所以我花了大约一个小时! 最后好像是某些服务器没有带:
Access-Control-Allow-Origin: *
在他们的回复 headers 中,但是一些服务器兼容 JSONP 而不是标准的 JSON 请求。不过,问题是服务器也必须支持 JSON-P。尽管 URL 中的 format=jsonp,服务器没有响应 JSON-P,而是响应 JSON.
在这种情况下,过去是,现在是,下面的代码使用 react-jsonp:
searchCity: function(){
return jsonp('https://autocomplete.wunderground.com/aq?query=lond', { param: 'cb' }, function (err, data) {
console.log(data.RESULTS);
})
在此处找到有关此问题的更多信息: