開發電信計費系統時碰到註冊功能,因爲是使用 MVC + ajax + html 方式實現,因此jsp的標籤 就不能夠用了。對於多個參數傳遞 實在讓人蛋碎 , 本來覺得 和表單傳值同樣簡單,結果是本身太天真了。 不過還好,總算是學會了。html
1 、前臺js代碼ajax
var DTO = {"name":"Tom","age":25}; $.ajax({ type:"post", contentType:"application/json;charset=utf-8", data:JSON.stringify(DTO), dataType:"json", success:function(){...} })
須要注意的是:1)必須設置 contentType : "application/json;charset=utf-8"json
由於普通請求默認是 text/html!app
不設置會致使頁面返回 415 錯誤代碼jsp
2)傳輸的JSON對象須要序列化post
二、後臺controller代碼code
@Controller @RequestMapping(value="XXX") public class Exa{ @RequestMapping(value="XXX",method=RequestMethod.POST) public void reg(@RequestBody Person person){ System.out.println(person.toString()); } }
須要導入相應的jar包htm
注意加入標記 @RequestBody 對象
此標記功能與 @ResponseBody功能恰好相反, 是將請求傳入的JSON對象 轉成 對應的 自定義對象。utf-8