2016-10-10 8 views
0

上に存在している私はでaxiosを使用してGETリクエストを作成している次のように反応する:WundergroundオートコンプリートAPIエラー:いいえ「アクセス制御 - 許可 - 起源」ヘッダが要求されたリソース

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であり、アクセスキーなどは必要ありませんが、 このURLからJSONデータを取得する別の方法はありますか?

+0

私がしてきましたそれを見て、Wundergrounds APIの設定方法を考えています。ブラウザでそのURLを参照すると、データが戻ってきて、同じリクエストを実行しているjsfiddleを作成し、受け取ったのと同じエラーが発生します。奇妙なことは、私がjsfiddleで私の要求を見ているときです。私はそれが200を返し、データを取得することができますが、ブラウザではまだAccess-Control-Allow-Originエラーが発生しています – cstopher

+0

私は経験している、私の要求のヘッダーで '起源'の値を変更する方法を確かめていない。 –

答えて

1

私はこれで1時間ほど過ごしました!特定のサーバが実行していないようだ末には :彼らのレスポンスヘッダで

Access-Control-Allow-Origin: * 

は、しかし、いくつかのサーバは、JSONPではなく、標準のJSON要求と互換性があります。しかし、サーバーがJSON-Pもサポートしなければならないということがあります。 URLのformat = jsonpにもかかわらず、サーバーは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

関連する問題