axios默認的Content-type是application/json;charset=UTF-8,如果想要以表單的形式傳遞參數,只要修改{headers:{'Content-Type':'application/x-www-form-urlencoded'}}配置即可。
axios.post(url,{jobNumber: '430525', password: '123'}, {headers: {'Content-Type':'application/x-www-form-urlencoded'}});
但是,改完以后發送請求,后端怎么都接收不到傳過去的參數。我們打開瀏覽器的調試工具,可以發現這里的form Data形式的參數是將我們想要傳的參數整個當成是一個key,其對應的value也是空的。
要想轉化成正確的鍵值對形式的格式也很簡單。只要用到qs庫就行了,這個是axios中已經包含了的,不需要再下載相應的包了。
使用方法
import qs from 'qs';
axios.post(url,qs .stringify({jobNumber: '430525', password: '123'}),
{headers: {'Content-Type':'application/x-www-form-urlencoded'}}
);
再次調取接口可以發現,請求參數已經是我們想要的了。