axios请求数据报跨域错误的解决方法

问题:在Vue.js里面使用Axios发送POST请求出现报错

Access to XMLHttpRequest at 'http://xxxx' from origin 'http://localhost:9529' 
has been blocked by CORS policy: Response to preflight request doesn't pass 
access control check: No 'Access-Control-Allow-Origin' header is present on 
the requested resource.

后端也配置了跨域,请求也一样报错

解决方法:

默认情况下,axios将JavaScript对象序列化为JSON。要以application/x-www-form-urlencoded格式发送数据,可以使用下面的方法解决

使用qs库对数据进行编码

首先在npm中安装:

npm install qs  --save

然后再项目中引入 import qs from 'qs'

然后我们发送Axios的时候就可以使用qs.stringify了

import qs from 'qs';
import request from '@/utils/request'
export function login(data) {
  return request({
    url: '/Adm/Back/LoginMember',
    method: 'post',
    data: qs.stringify(data),
  })
}

这样就可以解决问题了

上一篇:axios的post请求方法---以Vue示例


下一篇:Vue+Axois与SSM后台通信所遇问题