spring MVC 中json格式数据发送与接收

 

在web程序开发中,前端和服务器数据的传输方式常用的有两种,一种是以表单的形式提交,此时可以利用jquery的serialize()方法将表单内容转为a=1&b=2&c=3&d=4&e=5这样的格式传输过去,接收端则可以用javabean直接接收。
还有一种方式是以json格式传输,接收时若直接用bean接收则接收不到,此时应该用@RequestBody方式,需要注意的是接收的需要是json串,而不是json对象,可以在发送前使用JSON.stringify函数进行处理。
例子如下
客户端:
 
<% String path = request.getContextPath(); %>
<script type="text/javascript" src="<%=path%>/static/js/jquery.min.js"></script>
<script type="text/javascript">
	var path = '<%=path%>';
	var url=path+'testConverter.html';
	$.ajax({
		url : url,
		type : "POST",
		dataType:"json",
		contentType:'application/json;charset=UTF-8',
		data:JSON.stringify({userId:'1',userName:'hello',password:'test',credits:'2',lastIp:'',lastVisit:'1986-05-27'}),
		success: function(data) {
			alert(data.userName);
		},
		error: function(e) {
			alert("err");
		}
	});
</script>
 
服务端:
 
@RequestMapping(value = "/testConverter.html")
@ResponseBody
public User testConverter(@RequestBody User user) {
	System.out.println(user.getUserName());
	user.setUserName("testname");
	return user;
}

上面例子中服务端返回的是个对象,@ResponseBody函数会自动将其转换为客户端要求的‘ dataType:"json",’格式。

//最后需要注意的是在xxx-serverlet配置文件中应该写上,以便可以使用 @ResponseBody和@RequestBody
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值