使用axios跨域访问的时候浏览器报错:


我的代码:

1.main.js配置:

import axios from 'axios';

axios.defaults.timeout = 5000;// 在超时前,所有请求都会等待 5 秒
axios.defaults.headers.post['Content-Type']= application/x-www-form-urlencoded;charset=UTF-8';// 配置请求头
axios.defaults.baseURL = 'http://*******';// 配置接口地址
axios.defaults.withCredentials = false;

Vue.prototype.$axios = axios;// 将axios配置成vue的原型
2.在文件中使用:
this.$axios.post('/', {
        method: 'user.login',
        mobile: this.username,
        password: this.password,
        sign: ''
      }).then(function (response) {
        console.log(response);
      }).catch(function (error) {
        console.log(error);
      });

我们都以为是后端写的有问题,找了很久,最后发现只需要将axios传递的json格式的数据转换成string格式就可以了

this.$axios.post('/', JSON.stringify({//这里将json格式转成string格式发送
method: 'user.login',
mobile: this.username,
password: this.password,
sign: ''
})).then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
});

Logo

前往低代码交流专区

更多推荐