我試圖在wikipedia API上執行GET請求。使用jQuery如下工作正常:如何在fetch/axios跨站點請求上使用JSONP
$.ajax({
url: 'https://en.wikipedia.org/w/api.php?format=json&action=query&generator=search&gsrnamespace=0&gsrlimit=10&prop=pageimages|extracts&pilimit=max&exintro&explaintext&exsentences=1&exlimit=max&gsrsearch=Test&callback=JSON_CALLBACK',
type: 'GET',
headers: {'X-Requested-With': 'XMLHttpRequest'},
crossDomain: true,
dataType: 'jsonp'
}).done(function(data) {
console.log("Data: ", data);
});
但我想用提取或愛可信API,它在飛行前停止與請求方法:選項。爲什麼它在jQuery中工作,但不在其他API中?
axios.get('https://en.wikipedia.org/w/api.php?format=json&action=query&generator=search&gsrnamespace=0&gsrlimit=10&prop=pageimages|extracts&pilimit=max&exintro&explaintext&exsentences=1&exlimit=max&gsrsearch=Test&callback=JSON_CALLBACK',
{ headers: {'X-Requested-With': 'XMLHttpRequest',
'content-type': 'text/plain'}
})
.then(function (response) {
console.log("Response: ", response);
});
我發現它可能與GET請求的內容類型,jQuery的默認似乎是text/plain的,但試圖改變內容時,我沒有成功 - 正在發送爲text/html的提取/ axios請求類型。
有什麼想法可能是什麼問題?
我不認爲axios支持jsonp。 – noahnu
你說得對,我會解決這個問題 –