AJAX發送json,SpringMVC 接收JSON,@RequestBody


需求:JQuery ajax前台,采用 POST請求 發送json,后台使用SpringMVC接收json並處理

前台:

$.ajax({

    url:"請求地址",

    type:"POST",//設置請求方式

    header:'Content-Type':'application/json; charset=utf-8',//設置前台發送數據格式(關注Content-Type,不同Content-Type對應SpringMVC處理方式不同,影響請求類型,故本特 別指明采用POST請求方式。具體Content-Type相關知識,需要在搜尋學習了)

    data:    JSON.stringify(param),

    ........

})

var param = {

     name:“ROLE_1”,

     permission:.....

}

通過JSON.stringify(param),將數據序列化為一個 JSON字符串,用於發送

      本文 JSON 數據例:

    1. name: "ROLE_1"
    2. permission: ["{"id":"1","name":"ROLE_HOME","url":"/home","description":"home"}",…]
      1. 0: "{"id":"1","name":"ROLE_HOME","url":"/home","description":"home"}"
      2. 1: "{"id":"2","name":"ROLE_ADMIN","url":"/sockiet","description":"ABel"}"                      

后台:

@ResponseBody
@RequestMapping(value="/savePermission",method=RequestMethod.POST)
public void savePermission(@RequestBody(required=true) JSONObject json) {
System.out.println(json);
}

注解@RequestBody 用於處理POST請求,以及application/json,平時ajax默認Content-Type為application/x-www-form-urlencoded,是以key-value方式發送數據。我們采用@RequestParam注解接收。

@RequestBody還可以處理其它請求類型數據,在SpringMVC中@RequestBody默認處理值就是 “application/json“  。該注解為關鍵,具體注解其余知識,需要自己學習了。

此處采用JSONObject json接收數據。此外還可以采用實體接收等。

以上就完成了一個簡單的前台發送JSON,后台接收並處理的功能。

 


免責聲明!

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



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