SpringMVC中controller接收Json資料(重要)!
阿新 • • 發佈:2018-12-16
SpringMVC中controller接收Json資料
1.jsp頁面傳送ajax的post請求:
function postJson(){ var json = {"username" : "imp", "password" : "123456"}; $.ajax({ type : "post", url : "<%=basePath %>ajaxRequest", contentType : "application/json;charset=utf-8", dataType : "json", data: JSON.stringify(json), success : function(data){ alert("username:"+data.username+" id:"+data.id); }, error : function(){ alert("請求失敗"); } }) }
注意:
1.在傳送資料時,data鍵的值一定要寫成JSON.stringify(json),將資料轉換成json格式,否則會丟擲異常
2.basePath是專案根目錄:
<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
2.controller接收請求:
@ResponseBody @RequestMapping(value="/ajaxRequest",method=RequestMethod.POST) public User ajaxRequest(@RequestBody User user){ System.out.println(user); return user; }
注意:
[email protected]修飾的方法返回的資料,springmvc將其自動轉換成json格式,然後返回給前端
[email protected]修飾目標方法的入參,可以將ajax傳送的json物件賦值給入參。當然這裡的入參user是我們自定義的實體型別。
3.最後將user返回,springmvc自動將其轉換成json返回給前端