在我们使用Vue框架的时候,我们不免会遇到各种各样的问题。
我的代码如下:
let params = { username: this.username, password: this.password, };
// 登录 export const userLogin = (params) => { return Axios.post('http://127.0.0.1:8000/api/account/login', params).then(res => res.data); }
我的报错如下:
Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.
第一眼:这不就是跨域问题么?
网上一搜也大都是说跨域问题。
但是,这只是axios的post请求参数格式出问题了
axios的post请求发送健值对,需要引用qs处理一下才可以发送。
装一个qs模块:
npm install --save qs
import qs from 'qs'; //引用qs模块 let obj = { user: '020551', id: 'bb7bb' }; //post 请求 return axios.post('url',qs.stringify(obj)); //这样就不会报错了 //或者get请求 return axios.get('url',{obj:obj}); //不这么写就会报错preflight response.
我的改进:
// 登录 export const userLogin = (params) => { return Axios.post('http://127.0.0.1:8000/api/account/login', qs.stringify(params)).then(res => res.data); }