ajax傳遞參數給springmvc總結「轉」
總結:
1.springmvc與Ajax交互,可以傳入三種類型的數據:
(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接收。
(3)json數組:[{"name":"uname","value":"alice"},{"name":"mobileIpt","value":"110"},{"name":"birthday","value":"2012-11-11"}]
前台需要將Json對象轉換成Json對象的字元串,後台通過@RequestBody註解接收。
2.後台返回數據的話,如果返回List或Map的話,ajax的dataType要設置成"json",如果返回的是字元串,dataType要設置成"html"。
3.其實提取表單數據的話只需要serialize()方法直接獲取就可以了。
serialize()方法
格式:var data = $("form").serialize();
功能:將表單內容序列化成一個字元串。
這樣在ajax提交表單數據時,就不用一一列舉出每一個參數。只需將data參數設置為 $("form").serialize() 即可。參數形式為:"uname=alice&mobileIpt=110&birthday=1983-05-12"
4.特別注意在給表單賦值時,要和後台方法的參數或JavaBean中的屬性的數據類型一致,不然的話會報錯,最好在前台加校驗。我犯的一個錯誤是表單中年齡這個欄位,我沒輸入值,這樣提交到後台為空,但是JaveBean中age為int型,所以不匹配,提交一直不成功,後來在頁面中輸入數值就可以了。
※ajax傳遞list集合
※Python中 Flask的魔法方法深入理解
TAG:程序員小新人學習 |