axios 發送post請求ssm框架無法接受請求參數問題的解決

該問題可以通過修改header頭和修改請求參數解決。

let header = {
    'Content-Type': 'application/json;charset=UTF-8'
  }
  if (config.method === 'post') {
    header['Content-Type'] = 'application/x-www-form-urlencoded'
  }

通過config.method 判斷是否是post請求,如果是post請求則將content-type替換成application/x-www-form-urlencoded
然後通過安裝qs對參數進行修改代碼如下

export function post (url, data = {}, header = {}) {
  let sendObject = {
    url: url,
    method: 'post',
    headers: header,
    data: data
  }
  sendObject.data = qs.stringify(sendObject.data, {arrayFormat: 'repeat'})
  return service(sendObject)
}

後端的接受參數(ssm)

public @ResponseBody ResponseData login(HttpServletRequest request, @RequestParam("phone") String phone, @RequestParam("pwd") String pwd) 

這樣修改後傳遞的參數的形式如下圖:
正確的傳遞參數的形式
在不修改上面兩項時傳遞的參數的形式如下圖:
錯誤的參數上傳方式
qs 的安裝cnpm install qs

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