axios发送请求
axios发送请求,我们常常用它请求接口,但是如果我们的协议名为http时却需要请求https的接口,这时导致我们请求失败,原因::
1.因为浏览器有同源策略问题
2.因为https需要证书,,而我们axios请求时不能携带证书
jsonp请求接口
1.jsonp发送请求,原理就是去请求别的页面的js脚本文件,那获取页面的数据。
vue 使用jsonp发送请求,并接收返回回来的结果
安装依赖
npm i vue-jsonp
mian.js引用jsonp
import {VueJsonp} from 'vue-jsonp'
Vue.use(VueJsonp)
案例,请求腾讯地图查找位置所在经纬度
if (flag && this.maoObj.address != '') {
var markers = new TMap.MultiMarker({
map: this.map,
geometries: [],
});
let url = 'https://apis.map.qq.com/ws/geocoder/v1';
this.$jsonp(url, {
key: '你的keyP',
address: this.maoObj.address,
output: 'jsonp'
})
.then(res => {
let { lat, lng } = res.result.location;
this.drawingMap(lat, lng, this.maoObj.isFlag);
})
.catch(err => {
console.log(err);
});
}
this.maoObj.switch = !flag;