1. 向服务器要求两次的状况
(1)axios的默许要求头是Content-Type: application/json,运用这个要求头会涌现向服务器要求两次的状况;
(2)浏览器会起首运用 OPTIONS 要领提议一个预要求,推断接口是不是能够一般通信,假如不能就不会发送真正的要求过来,
假如测试通信一般,则最先真正的要求;
浏览器对背景说:我能够要求你吗? ( ̄ˇ ̄) 背景说:阔以。( ̄▽ ̄)~* 结果是:发送原有的GET(POST)要求 背景说:不阔以。(‵﹏′) 结果是:报错
(3)解决要领:设置axios的默许要求头axios.defaults.headers[‘Content-Type’] = ‘application/x-www-form-urlencoded’
(运用qs模块能够不设置,qs模块会本身设置。);(4)设置以后,背景不认这个数据花样,所以在通报的时刻必需先把数据转换花样;
// step1. npm install qs // step2. 在main.js中,引入qs模块 import qs from 'qs'; // 须要时挪用qs.stringify()要领 this.$axios.post('api/login', qs.stringify({ name: 'xxx', password: '********' }).then(res => { }).catch(err => { });