解决利用AJAX从视图传递到Controller 多个参数的接收问题

开发电信计费系统时碰到注册功能,由于是使用 MVC + ajax + html 方式实现,所以jsp的标签 就不可以用了。对于多个参数传递 实在让人蛋碎 , 原本以为 和表单传值一样简单,结果是自己太天真了。 不过还好,总算是学会了。

 

1 、前台js代码

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"

                            因为普通请求默认是 text/html!

                           不设置会导致页面返回 415 错误代码

                        2)传输的JSON对象需要序列化

2、后台controller代码

@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包

注意加入标记 @RequestBody  

此标记功能与 @ResponseBody功能刚好相反, 是将请求传入的JSON对象 转成 对应的 自定义对象。

转载于:https://my.oschina.net/u/2505806/blog/530380

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值