vue 进行 post 请求时,跨域配置不生效

最近在用 vue 做一个简单的管理系统,在实现登录功能时,因为跨域问题,参照网上的方法对 vue.config.js 进行了配置:

devServer: {
    proxy: {
        '/api': {
            target: 'http://175.24.88.62:8080/pcs',
            ws: true,
            changeOrigin: true,
            pathRewrite: {
                '^/api': ''
            }
        }
    }
},

但在使用的过程中,发现执行 get 请求时(下图中的下半部分),跨域配置能生效定位到指定路径,但 post 请求(下图中的上半部分)时却无法生效:

export const subData = (params) => {
      return request({
          url: '/api/userVerification/login.do',
          method: 'post',
          data: params,
          emulateJSON: true
      });
};

vue进行post请求时,跨域配置不生效
vue进行post请求时,跨域配置不生效

这部分是登录部分对 post 的具体使用:

songData() {
        subData(this.query).then(res => {
            console.log(res);
        });
    },

这部分是 request 文件的内容:
vue进行post请求时,跨域配置不生效

尝试过直接用proxy指定路径的方法(仍识别不了,依旧需要指定具体网址);
也试过axios的baseURL指定路径的方法(会产生Access-Control-Allow-Origin问题);

因此想问一下如何处理这种post不生效的情况?或是有无别的方法在前端处理跨域问题?

讨论数量: 3

我也是,但是引入qs库,将参数qs.stringify就可以了,后端也可以设置允许,后端不设置,我是这么做的

3年前 评论

后面解决了么,怎么解决的

3年前 评论
wj2015 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!