axios跨域get請求傳回undefined
import axios from 'axios'
export default function ajax(url = '', data = {}, type = 'GET') {
// 傳回值 Promise對象 (異步傳回的資料是response.data,而不是response)
return new Promise(function (resolve, reject) {
// (利用axios)異步執行ajax請求
let promise // 這個内部的promise用來儲存axios的傳回值(promise對象)
if (type === 'GET') {
// 準備 url query 參數資料
let dataStr = '' // 資料拼接字元串,将data連接配接到url
Object.keys(data).forEach(key => {
dataStr += key + '=' + data[key] + '&'
})
if (dataStr !== '') {
dataStr = dataStr.substring(0, dataStr.lastIndexOf('&'))
url = url + '?' + dataStr
}
// 發送 get 請求
promise = axios.get(url)
} else {
// 發送 post 請求
promise = axios.post(url, data)
}
promise.then(response => {
// 成功回調resolve()
console.log(response.data)//這裡輸出有結果
resolve(response.data)//回調後獲得的結果是undefined
})
.catch(error => {
// 失敗回調reject()
reject(error)
})
})
}
我的跨域配置
我的js中的方法
這是我獲得的結果(第一行是回調後的輸出;第二行是回調前輸出,也就是上面代碼塊的console.log(response.data))
我是一個新手,這是我寫着玩的項目,求大佬們回答,十分感謝!!!