在用jsonp請求一個資料介面時,chrome瀏覽器控制臺輸出警告,且資料無法正常讀取,代碼及截圖如下:
1. javascript代碼:
$("button").on('click', function() {
$.ajax({
url: 'http://api.avatardata.cn/ShengXiaoPeiDui/Lookup',
dataType: 'jsonp',
data: {
key: '1028fe71be664298a07485e8e460557a',
shengxiao1: '虎',
shengxiao2: '兔'
},
success: function(data) {
console.log(data)
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log(XMLHttpRequest.status);
console.log(XMLHttpRequest.readyState);
console.log(textStatus);
}
})
})
2. 瀏覽器警告:

3. 手動點擊請求地址,可看到請求資料:

困擾至此,無已突破,還望大佬們指點迷津,謝謝。
uj5u.com熱心網友回復:
是否你源訪問的是在https協議下,現在瀏覽器要求https下不能ajax訪問http啦。對此,你需要把相應api部署到https下。
uj5u.com熱心網友回復:
缺少回呼引數 callbackuj5u.com熱心網友回復:
介面回傳的json資料,并非jsonp,需要通過服務器獲取,而不是客戶端直接ajax請求,無法獲取到json資料,除非對方服務器設定過Access-Control-Allow-Origin回應頭允許跨域請求或者用yql轉為jsonp資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/12158.html
標籤:Ajax
下一篇:新人菜鳥求助個小問題?
