vue 用axios的方法封装调用接口,这种处理跨域的应该怎么封装方法?

用vue-axios和axios做跨域处理,用之前封装的axios方法封装的数据接口,在做过跨域处理上应该怎么封装?

请输入代码
**api.js
之前没有做跨域是这样封装的
import axios from 'axios';
let base = '';

export const msgData = params => { return axios.get('http://spider.dcloud.net.cn/api/banner/36kr',{ params: params }); };

index.vue
这样调用的
    msgData().then(res => {
         console.log(res)
       })
       .catch(err => {
         console.log(err)
       })

**跨域处理
现在为了做跨域处理做的
main.js 主页

import axios from 'axios'
import VueAxios from 'vue-axios'
Vue.use(VueAxios, axios)

在配置文件里这样处理
dev: {

env: require('./dev.env'),
port: 8081,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
  '/api': {
         target: 'https://api.douban.com/v2',
         changeOrigin: true,
         pathRewrite: {
         '^/api': ''
       }
   }
},

调用 在index.js

this.axios.get('/api/movie/in_theaters').then(res => {
     console.log(res)
   })
   .catch(err => {
     console.log(err)
   })
   

请问跨域处理后应该怎么封装,然后在组件里面调用 ?
图片描述

这是没有做跨域之前封装的请求方法,和在组件里面调用

这是做跨域请求的步骤

在配置文件修改添加这个

在组件里面调用,这样调用应该怎么统一封装调用呢

请问跨域处理后应该怎么封装,然后在组件里面调用 ?就是我第二种应该怎么封装,他有个this,就不好处理

阅读 6.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题