在简书上看到一个 vue 抓取 qq 音乐数据的 demo,其内容数据都是通过调取 qq 音乐的接口获得,由于本地项目直接使用接口会抛错,因此需要通过代理来转发请求,在 vue 中通过修改 vue proxyTable 实现跨域请求接口数据。
具体配置方式如下:
在 confid>index.js 中修改 proxyTable:{}为 ↓↓↓
proxyTable: {
'/api': {
target: 'https://c.y.qq.com',//需要代理的地址
changeOrigin: true,
pathRewrite: {
'^/api': '/' //这里理解成用‘/api’代替target里面的地址,调取接口时直接用/api代替
}
}
},
注:在 vue 脚手架中配置完 config,请重启一下项目,再进行接口的调用测试
项目统一的 api.js 中对接口调用方式如下,此处参考了 element-admin 中对接口进行请求时利用 axios 过滤器的写法;
具体可参考 https://github.com/PanJiaChen/vueAdmin-template/blob/master/src/utils/request.js
或 axios 官方文档 https://www.kancloud.cn/yunye/axios/234845;
当然,请求接口也可直接在功能页面直接调用,此处不赘述
import request from '@/utils/request';// axios过滤器
//接口
export function getApi() {
return request({
url:'/api/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg',// 代理地址下的接口
method:'get'
})
}
页面中测试接口
import {getApi} from '@/api/user'
created() {
getApi().then((res) => {
console.log(res);
})
},
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于