DDR爱好者之家 Design By 杰米
前言:
这里我们使用的是第三方插件jsonp。
github网址:https://github.com/webmodules/jsonp
1、安装
npm install jsonp -S
2、引入
一般新建一个js文件来引入原始jsonp插件,然后对原始插件进行封装,对跨域接口参数的拼接,封装好这个jsonp文件后export出去,之后在哪里用到就再在那里import。
1.新建jsonp.js文件来封装原始jsonp插件
// 引入原始jsonp插件 import originJsonp from 'jsonp' /* 封装原jsonp插件,返回promise对象 url: 请求地址 data:请求的json参数 option:其他json参数,默认直接写空对象即可 */ export default function jsonp (url, data, option) { url += (url.indexOf('"htmlcode">// 引入封装好的jsonp import jsonp from 'common/js/jsonp.js' // 假设这里为跨域请求当前城市的接口 export function getCurrentCity () { // 接口地址 let url = 'https://api.map.baidu.com' // 所需参数 let datas = { 'qt': 'dec', 'ie': 'utf-8', 'oue': 1, 'fromproduct': 'jsapi', 'res': 'api', 'ak': 'QWilijLzYd6pCmTrHilAeWjbG41zMiXc' } return jsonp(url, datas, {}) }4、最后在vue组件中取到接口数据
import {getCurrentCity} from 'common/apis/getCurrentCity.js' export default { methods:{ _getCurrentCity () { // 在这里就可以获取到当前城市的接口数据了 getCityCurrent().then((res) => { // 打印出获取到的数据 console.log(res) }).catch((err) => { console.log(err) }) } }, mounted () { this._getCurrentCity() } }补充知识:Vue中关于axios和jsonp的封装
我就废话不多说了,大家还是直接看代码吧~
import qs from 'qs' import axios from 'axios' //拦截器 axios.interceptors.request.use(function (config) { console.log('正在发送请求哦...')//添加loading效果 return config; }, function (error) { return Promise.reject(error); }); // Add a response interceptor axios.interceptors.response.use(function (response) { console.log('请求成功啦...') return response; }, function (error) { return Promise.reject(error); }); const ajax={ post:function(url,data={}){ return new Promise((resolve,reject)=>{ axios.post(url,qs.stringify(data)).then(function(res){ resolve(res.data) }).catch(function(err){ reject(err) }) }) }, get:function(url,data={}){ return new Promise((resolve,reject)=>{ axios.get(url,{params:qs.stringify(data)}).then(function(res){ resolve(res.data) }).catch(function(err){ reject(err) }) }) }, } export default ajax;在main.js中
import ajax from './common/api/index.js'
Vue.prototype.$post=ajax.post Vue.prototype.$get=ajax.get
jsonp
import originJSONP from 'jsonp' /* jsonp(url,option,callbackFn) {name:1,age:20} www.aaa.com/? */ export default function(url,data,option){ url+=(url.indexOf('?')<0 ? '?' : '&' )+param(data); return new Promise(function(resolve,reject){ originJSONP(url,option,function(err,res){ if(!err){ resolve(res); }else{ reject(err) } }) }) } /* {name='aa',age=20} &name=aa&age=20 */ function param(data){ let url=''; for(let key in data){ let item =data[key]!==undefined ? data[key] : ''; url+=`&${key}=${encodeURIComponent(item)}` } return url ? url:''; }以上这篇在vue中使用jsonp进行跨域请求接口操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年12月24日
2024年12月24日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]