解决利用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

相关文章
相关标签/搜索