axios以form-data形式的傳遞參數遇到的坑


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'}});

再次調取接口可以發現,請求參數已經是我們想要的了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM