Springmvc處理ajax請求並返回json資料
阿新 • • 發佈:2020-07-03
①在springmvc方法上新增@ResponseBody註解,springmvc會將資料轉換成json並返回;
@ResponseBody //指定返回json資料,不跳轉頁面 @RequestMapping("/list") public List<User> list(User user){ System.out.println("獲取到非同步請求資料:"+user); //todo 根據條件做資料庫查詢,返回結果集合 ArrayList<User> users=new ArrayList<>(); users.add(new User(1,"james",18,"男")); users.add(new User(2,"姚明",40,"男")); users.add(new User(3,"科比",46,"男")); return users; }
list.jsp頁面中程式碼為:
<body> <input type="button" id="btn" value="非同步載入資料"/> <script src="${pageContext.request.contextPath}/static/js/jquery-3.2.1.min.js"></script> <script> $(function ($) { $("#btn").click(function () { $.ajax({ url:"${pageContext.request.contextPath}/list",type:"post",data:{"name":"james","age":18},dataType:"json",success:function (result) { alert("請求成功!") console.log(result) } }) }) }) </script> </body>
②如果contentType=”application/json”時,在方法的引數前新增@RequestBody註解,獲取傳遞的json字串,並封裝到物件中;
@ResponseBody //指定返回json資料,不跳轉頁面 @RequestMapping("/list") public List<User> list(@RequestBody(required=false) User user){ System.out.println("獲取到非同步請求資料:"+user); //todo 根據條件做資料庫查詢,返回結果集合 ArrayList<User> users=new ArrayList<>(); users.add(new User(1,"男")); return users; }
list.jsp頁面中程式碼為:
<body> <input type="button" id="btn" value="非同步載入資料"/> <script src="${pageContext.request.contextPath}/static/js/jquery-3.2.1.min.js"></script> <script> $(function ($) { $("#btn").click(function () { var jsonObj={"name":"james","age":18}; $.ajax({ url:"${pageContext.request.contextPath}/list",data:JSON.stringify(jsonObj),//json字串 將json物件轉化為字串 dataType:"json",contentType:"application/json",//指定以json方式傳輸資料 success:function (result) { alert("請求成功!") console.log(result) } }) }) }) </script> </body>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。