2016-10-10 4 views
0

я создал запрос GET с использованием AXIOS в реагировать следующим образом:Wunderground автозаполнения об ошибке API: заголовок Нет «Access-Control-Разрешить происхождения» присутствует на запрошенный ресурс

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 из этого URL-адреса?

+0

Я был заглядывая в него, и я думаю, что он настроен на wundergrounds api. Если я перейду к этому URL-адресу в браузере, я получу данные, и я сделал jsfiddle, выполнив тот же запрос и получив ту же самую ошибку, которую вы получаете. Странно, когда я смотрю на мой запрос в скрипаче, когда я делаю это в jsfiddle, я вижу, что он возвращает 200 и возвращает данные, но в браузере я все еще получаю ошибку Access-Control-Allow-Origin – cstopher

+0

Да, это именно то, что Я испытываю, не знаю, как можно изменить значение «origin» в заголовке моего запроса, не уверен, что это будет работать –

ответ

1

Итак, я потратил около часа на это! В конце концов, кажется, что некоторые серверы не нести:

Access-Control-Allow-Origin: * 

в их заголовках ответа, однако некоторые сервера совместимы с JSONP, а не стандартных запросов в формате JSON. Дело в том, что сервер также должен поддерживать JSON-P. Несмотря на формат = jsonp в URL-адресе, сервер не отвечает JSON-P, а с JSON.

В данном случае это было, и это было и следующий код работает с использованием среагировать-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

 Смежные вопросы

  • Нет связанных вопросов^_^