报错解决方案积累日常积累小问题

axios的跨域问题

2020-12-25  本文已影响0人  LeslieFind

参考:https://www.cnblogs.com/l-y-h/p/11815452.html

一、main.js

import Vue from "vue";
import "./plugins/axios";
import App from "./App.vue";
import router from "./router";
import store from "./store";

// step1:引入 axios
import Axios from 'axios'

Vue.config.productionTip = false;

// step2:把axios挂载到vue的原型中,在vue中每个组件都可以使用axios发送请求,(我的设置不成功)
// 不需要每次都 import一下 axios了,直接使用 $axios 即可
// Vue.prototype.$axios = Axios


// step3:使每次请求都会带一个 /api 前缀 
Axios.defaults.baseURL = '/api'

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount("#app");

二、vue.config.js

module.exports = {
  lintOnSave: false,
  devServer: {
    proxy: {
        '/api': {
            // 此处的写法,目的是为了 将 /api 替换成 https://www.baidu.com/
            target: 'http://localhost:8999/json/getdiff',
            // 允许跨域
            changeOrigin: true,
            ws: true,
            pathRewrite: {
                '^/api': ''
            }
        }
    }
}
};

三、对应view中

methods: {
            getgrouplist() {
                 let oldJSON;
                 let newJSON;
                 axios.get('/',{
                     params: {
                         oldUrl: ‘123',
                         newUrl: '456'
                     }
                 }).then(function (resp){
                     oldJSON = JSON.stringify(resp.data.data.old);
                     // alert(oldJSON);
                     newJSON = JSON.stringify(resp.data.data.new);
                 })
                
                this.oldStr = JSON.stringify(oldJSON, null, 4);
                this.newStr = JSON.stringify(newJSON, null, 4);
            },
上一篇 下一篇

猜你喜欢

热点阅读