ajax传递参数给springmvc总结[转]

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型,因此不匹配,提交一直不成功,后来在页面中输入数值就能够了。

相关文章
相关标签/搜索