解決利用AJAX從視圖傳遞到Controller 多個參數的接收問題

開發電信計費系統時碰到註冊功能,因爲是使用 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

相關文章
相關標籤/搜索