使用axios post 提交數據,後臺獲取不到提交的數據解決方案

一、問題發現

     前後端分離使用vue開發,結合axios進行前後端交互數據,一開始使用 get 請求,獲取數據,沒有發現任何問題,當使用 post請求 傳參時,發現,數據明明已經提交,在打開F12 開發者工具,點擊 network 裏面的確有數據已經傳過去,只是後臺那裏 打印日誌確實沒有獲取到傳過去的參數。

二、解決方案

     1. 原因: 傳參方式是request payload,參數格式是json,而並非用的是form傳參,所以在後臺用接收form數據的方式接收參數就接收不到了。

POST表單請求提交時,使用的Content-Type是application/x-www-form-urlencoded,而使用原生AJAX的POST請求如果不指

定請求頭RequestHeader,默認使用的Content-Type是text/plain;charset=UTF-8,而此處的Content-Type是:

     2. 解決方法:

    安裝 qs   : npm install qs --save    在頁面中引用 qs :   var qs = require('qs'); 同時 需要將 請求頭headers改爲: 'Content-Type': 'application/x-www-form-urlencoded', 

 

注:此方案只是本人項目中遇到的問題,並以此方法解決的了項目中的問題,經後來查詢,還有其他解決方法,就不一一介紹了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章