java - 為什么spring的提交格式有些不一樣?
問(wèn)題描述
比如后端用的是x-www-form-urlencoded格式的. js對(duì)象是:
{ 'id':1, 'user':{'id':1}}
后端正確的接收格式 id=1&user.id=1這的. 而query-string 生成的是id=1&user[id]=1這樣的
這樣直接用jq的ajax 設(shè)置為x-www-form-urlencoded 提交對(duì)象生成的是id=1&user[id]=1 所以后端就接收不到了.
所以提交起來(lái)挺麻煩的.
x-www-form-urlencoded 和 query-string 的關(guān)系是怎么樣的?
問(wèn)題解答
回答1:如果后端要求的格式必須是id=1&user.id=1,那么前端給的JSON就應(yīng)該得是:
{ 'id':1, 'user.id':1}
如果前端不能改了,必須傳id=1&user[id]=1,那就只能讓后端去適應(yīng)了,不知道Spring MVC是否支持參數(shù)帶方括號(hào)的,如果是Servlet的話就很簡(jiǎn)單:
@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) { try {String id = Integer.parseInt(req.getParameter('id'));String userId = Integer.parseInt(req.getParameter('user[id]')); } catch (NullPointerException | NumberFormatException e) {// response Bad Request }}
相關(guān)文章:
1. 將SQLServer數(shù)據(jù)同步到MySQL 用什么方法?2. 為什么我ping不通我的docker容器呢???3. android - webview 自定義加載進(jìn)度條4. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.5. numpy - python [:,2][:,None]是什么意思6. javascript - 微信小程序封裝定位問(wèn)題(封裝異步并可能多次請(qǐng)求)7. 并發(fā)模型 - python將進(jìn)程池放在裝飾器里為什么不生效也沒(méi)報(bào)錯(cuò)8. javascript - 微信小程序限制加載個(gè)數(shù)9. javascript - 微信音樂(lè)分享10. python 怎樣用pickle保存類(lèi)的實(shí)例?
