springmvc處理ajax請求,返回json數據


①在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,"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 () {
               var jsonObj={"name":"james","age":18};
               $.ajax({
                   url:"${pageContext.request.contextPath}/list",
                   type:"post",
                   data:JSON.stringify(jsonObj),//json字符串 將json對象轉化為字符串
                   dataType:"json",
                   contentType:"application/json",//指定以json方式傳輸數據
                   success:function (result) {
                       alert("請求成功!")
                       console.log(result)
                   }
               })
           })
       })
   </script>
</body>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM