1、問題發現vue
先後端分離使用vue開發,結合axios進行先後端交互數據,一開始使用 get 請求,獲取數據,沒有發現任何問題,當使用 post請求 傳參時,發現,數據明明已經提交,在打開F12 開發者工具,點擊 network 裏面的確有數據已經傳過去,只是後臺那裏 打印日誌確實沒有獲取到傳過去的參數。ios
2、解決方案npm
1. 緣由: 傳參方式是request payload,參數格式是json,而並不是用的是form傳參,因此在後臺用接收form數據的方式接收參數就接收不到了。json
POST表單請求提交時,使用的Content-Type是application/x-www-form-urlencoded,而使用原生AJAX的POST請求若是不指axios
定請求頭RequestHeader,默認使用的Content-Type是text/plain;charset=UTF-8,而此處的Content-Type是:後端
2. 解決方法:app
安裝 qs : npm install qs --save 在頁面中引用 qs : var qs = require('qs'); 同時 須要將 請求頭headers改成: 'Content-Type': 'application/x-www-form-urlencoded', 前後端分離
注:此方案只是本人項目中遇到的問題,並以此方法解決的了項目中的問題,經後來查詢,還有其餘解決方法,就不一一介紹了。工具