2019独角兽企业重金招聘Python工程师标准>>>
在基于springmvc的web项目中,后台获取前台提交的数据方式有多种。
从web端到controller
1、通过注解ModelAttribute直接映射表单中的参数到POJO。在from中的action写提交的路径,然后再input的name写参数的名称。
在后台用@ModelAttribute("form")获取整个POJO类的数据。当获取不是POJO里面的参数的时候使用@RequestParam获取。
2、第一种:将ajax的contentType设置为“application/x-www-form-urlencoded”,传输的数据为form.serialize(),表单的每一个input的name属性与pojo属性名一一对应。在用springmvc框架时,controller层的方法参数直接写上要接受的对象即可,form中的参数值会自动封装到该对象里面。 第二种:ajax的contentType为“application/json”,其他若不变,controller层用String类型的参数受,则该参数为“ username=zhangSan&password=123456&age=...”的形式。
3、使用AJAX的方式提交数据。当参数数量比较多的时候,可以把参数包装成json传回后台。
[javascript] view plain copy
- $("#zhuce").click(function(){
- var saveDataAry=[];
- var email1 = $(".email").val().trim();
- var username1 = $(".username").val().trim();
- var password1=$(".password").val().trim();
- //var confirm_password1 = $(".confirm_password").val().trim();
- var phone_number1 = $(".phone_number").val().trim();
- var data1={email:email1,username:username1,password:password1,mobilePhone:phone_number1};
- $.ajax({
- url:"user/register.do",
- type:"post",
- dataType:"json",
- data:data1,
- success:function(result){
- //result是服务器返回的json结果
- if(result.status){
- alert(result.data);
- }else {
- alert(result.msg);
- }
- },
- error:function(){
- alert("发生异常,请重试!");
- }
- });
- });
在后台获取参数的时候,可以直接在方法中写传入的参数,注意参数名称要和ajax中data的参数名称一致,否则就要用@RequestParam指定参数名称。也可以用@ModelAttribute映射POJO,但data的参数名称要和POJO的变量名称一致。
controller返数据给web端:
1.在controller的方法中要加@ResponseBody,ajax的datatype设置为json,即可获取从controller中返的数据,继而在回调函数中处理成功/失败时的情况。