Axios--post請求 後臺接受不到數據 解決方案

直奔主題
  經常會有同學說格式寫的非常正確,變量名也無偏差,可後臺就是獲取不到數據。文檔中的post請求是這樣的,傳參是以對象的形式

axios.post('url', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

  在Axios的post請求中如果傳遞的參數是對象類型的,Axios會自動將對象轉化爲json格式的字符串使用 application/json 的請求頭向後端服務接口傳遞參數。而一般情況下,後端獲取參數,請求頭的需要是 application/www-x-form-urlencoded
Axios的post請求接收參數的兩種方式:
1)使用字符串進行參數傳遞 如:“firstName=Fred&lastName=Flintstone”

var firstName = "Fred";
var lastName = "Flintstone";
axios.post('url', "firstName=" + firstName + "&lastName=" + lastName )
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

2)post請求仍以對象類型傳遞數據,後端接口直接使用**@RequestBody**註解形式接收參數 。此時前臺傳遞的數據必須是json格式,且請求頭必須是 application/json(其實是自動的,如有意外也可手動),後端會把其轉換成一個對象,這就要求對象中的屬性名和json中的屬性名一致。這個就需要和後端的同志溝通的。

如果還有其他觀點,歡迎留言!

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