Wunderground自动填充API错误:没有'访问控制 - 允许 - 来源'标头出现在请求的资源上

时间:2016-10-10 19:54:24

标签: javascript api get cors wunderground

我已经使用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.

即使这是一个公共API,也没有访问密钥或任何需要的东西。 是否有其他方法可以从此网址获取JSON数据?

1 个答案:

答案 0 :(得分:1)

所以我在这上花了大约一个小时! 最后,似乎某些服务器没有携带:

Access-Control-Allow-Origin: *

在他们的响应头中,但是某些服务器与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);
    })

此处找到有关此问题的更多信息:

Unexpected Token : when trying to parse a JSON string