由于浏览器的同源策略,我们在碰到一些需要跨域的请求时需要一定的方式
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)
})