https://www.cnblogs.com/franson-2016/p/6770028.htmlhtml
https://www.cnblogs.com/xiaoxi/p/5708084.htmlajax
總結:spring
1.springmvc與Ajax交互,能夠傳入三種類型的數據:json
(1)文本:"uname=alice&mobileIpt=110&birthday=1983-05-12"或經過$("#form1").serialize()方法,後臺可經過@RequestParam註解或request.getParameter接收或JavaBean接收。數組
(2)json對象:{uanme:'vic',mobileIpt:'110',birthday:'2013-11-11'},若是後臺用@RequestBody註解接收的話,前臺須要將參數由Json對象轉換成Json對象的字符串,若是不用@RequestBody註解接收,那麼參數就不用轉成Json字符串了,後臺可經過@RequestParam註解或request.getParameter接收或JavaBean接收。mvc
(3)json數組:[{"name":"uname","value":"alice"},{"name":"mobileIpt","value":"110"},{"name":"birthday","value":"2012-11-11"}]orm
前臺須要將Json對象轉換成Json對象的字符串,後臺經過@RequestBody註解接收。htm
2.後臺返回數據的話,若是返回List或Map的話,ajax的dataType要設置成"json",若是返回的是字符串,dataType要設置成"html"。對象
3.其實提取表單數據的話只須要serialize()方法直接獲取就能夠了。blog
serialize()方法
格式:var data = $("form").serialize();
功能:將表單內容序列化成一個字符串。
這樣在ajax提交表單數據時,就不用一一列舉出每個參數。只需將data參數設置爲 $("form").serialize() 便可。參數形式爲:"uname=alice&mobileIpt=110&birthday=1983-05-12"
4.特別注意在給表單賦值時,要和後臺方法的參數或JavaBean中的屬性的數據類型一致,否則的話會報錯,最好在前臺加校驗。我犯的一個錯誤是表單中年齡這個字段,我沒輸入值,這樣提交到後臺爲空,可是JaveBean中age爲int型,因此不匹配,提交一直不成功,後來在頁面中輸入數值就能夠了。