axios 默認使用的是json字符串形式去提交數據,但後端極力要求使用表單形式提交數據(說是json字符串還需要轉,會消耗性能)。
由於需要使用表單的數據形式,在前端的項目裏面,則需要對數據進行轉換,使之成爲後端能夠接收的表單數據。
爲了方便對請求進行控制,我將axios進行了封裝,方便請求(響應)的攔截,這裏就只貼部分代碼。
首先要修改請求頭的'Content-Type' ,在axios的配置裏面的,將header的 'Content-Type' 改爲 'application/x-www-form-urlencoded; charset=UTF-8'。
其次,我們需要安裝一個qs插件,用來將請求數據轉換成表單形式。官網有推薦使用qs這個插件
axios的配置中有一個transformRequest,它可以對數據提交前進行數據修改,官網的文檔如下:
我們可以在這個裏面對提交前數據進行修改操作。我是在這裏使用qs將數據表單化的,具體的代碼如下:
至此,則數據提交就變成表單形式了