我做以下調用黑暗的天空API:axios GET請求的資源上存在「否」Access-Control-Allow-Origin'標頭「。
axios({
url: 'https://api.darksky.net/forecast/[my key]/37.8267,-122.4233',
timeout: 20000,
method: 'get',
responseType: 'json'
})
.then(function(r) {
console.log(r);
})
.catch(function(r){
console.log(r);
});
而且我得到這個錯誤:
的XMLHttpRequest無法加載https://api.darksky.net/forecast/[my鍵] /37.8267,-122.4233。請求的資源上沒有「Access-Control-Allow-Origin」標題。因此'Origin'http://localhost:3000'不允許訪問。
我試着加入了config
作爲第二個參數的號召,並設置config
是:
var config = {
headers: {'Access-Control-Allow-Origin': '*'}
};
但是,我敢肯定,必須要在服務器端做了什麼?還嘗試做出迴應jsonp
看看是否可以解決它,但仍然沒有。我也嘗試使用簡單的fetch()
API,但是這也不起作用。
如果它有什麼不同,我在React應用程序中進行此調用。我如何才能獲得JSON並繼續進行我的項目?
是的,這必須在服務器端允許。這是一個瀏覽器策略,所以如果你通過你自己的服務器(express/node等)進行代理,那麼你將可以在沒有CORS的情況下進行呼叫。 –
@DavinTryon,那麼如何編輯我的代碼來工作並給我JSON? –
要求api.dark.sky的所有者支持Ajax。 –