該問題可以通過修改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