axios跨域问题

很是苦恼,改写的也都写了,一直都是localhost

另外项目也重启过了
图片描述

main.js

import axios from 'axios'
Vue.prototype.$axios = axios;
Vue.prototype.HOST = "/api";

config / index.js

proxyTable: {
      'api':{
        target:'http://www.kuaidi100.com',
        changeOrigin:true,
        pathRewrite:{
          '^/api':''
        }
      }
    },

script:

created() {
    let url = this.HOST + "/query";
    this.$axios.get(url, {
      params:{
        type: 'yunda',
        postid: 3916090104344
      }
    })
    .then(res => {
      console.log(res);
    })
    .catch(error => {
      console.log(error)
    })

  }
阅读 3.6k
2 个回答

api要写成/api,因为你要代理的是/api

proxyTable: {
  '/api':{
    target:'http://www.kuaidi100.com',
    changeOrigin:true,
    pathRewrite:{
      '^/api':''
    }
  }
},

1.这不是跨域问题,是你启用了http-proxy组件,把你的请求代理到http://www.kuaidi100.com这个域名了,你在浏览器里看到的是localhost,但是其实访问的是http://www.kuaidi100.com
2.至于为什么是404,一种情况是后台没有对应的接口,另外一种情况是pathRewrite配置的不对

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