由於瀏覽器的同源策略,我們在碰到一些需要跨域的請求時需要一定的方式
1.首先在npm環境下下載jsonp
npm install jsonp --d
2.自定義js文件對jsonp進行封裝
import orginJSONP from 'jsonp'
export default function jsonp(url,data,option) {
url+=(url.indexOf('?')<0?'?':'&')+param(data);
return new Promise((resolve,reject)=>{
orginJSONP(url,option,(err,data)=>{
if(!err){
resolve(data)
}else{
reject(err)
}
})
})
}
function param(data) {
let url = '';
for(var k in data){
let values = data[k]!== undefined?data[k]:'';
url+=`&${k}=${encodeURIComponent(values)}`
}
return url?url.substring(1):''
}
3.調用jsonp方法
import jsonp from '相對路徑'
export function getSomeThing(){
const url = '目標地址';
const data = {
需要傳的參數
}
return jsonp(url,data)
}
4.獲取得到的數據
getSomeThing().then((res)=>{
console.log(res)
})