java - 為什么spring的提交格式有些不一樣?
問題描述
比如后端用的是x-www-form-urlencoded格式的. js對象是:
{ 'id':1, 'user':{'id':1}}
后端正確的接收格式 id=1&user.id=1這的. 而query-string 生成的是id=1&user[id]=1這樣的
這樣直接用jq的ajax 設置為x-www-form-urlencoded 提交對象生成的是id=1&user[id]=1 所以后端就接收不到了.
所以提交起來挺麻煩的.
x-www-form-urlencoded 和 query-string 的關系是怎么樣的?
問題解答
回答1:如果后端要求的格式必須是id=1&user.id=1,那么前端給的JSON就應該得是:
{ 'id':1, 'user.id':1}
如果前端不能改了,必須傳id=1&user[id]=1,那就只能讓后端去適應了,不知道Spring MVC是否支持參數帶方括號的,如果是Servlet的話就很簡單:
@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 }}
相關文章:
1. javascript - avalon使用:duplex設置select默認option的bug2. css3 - 純css實現點擊特效3. python - pandas dataframe如何對某列的空數據位置進行update?update的函數是自定義的,參數是同一行的另外兩列數據4. java中返回一個對象,和輸出對像的值,意義在哪兒5. javascript - jQuery post()方法,里面的請求串可以轉換為GBK編碼么?可以的話怎樣轉換?6. html5 - 請問現在主流的前端自動化構建工具是哪個?7. docker綁定了nginx端口 外部訪問不到8. 安全性測試 - nodejs中如何防mySQL注入9. javascript - 關于apply()與call()的問題10. javascript - 有適合開發手機端Html5網頁小游戲的前端框架嗎?
