1.前端页面的javascript代码:
<script type="text/javascript">
$(document).ready(function(){
//以json 格式字符串请求服务器
$("#add").click(function(){
var saveDataAry=[];
var data1={"userName":"test","address":"gz"};
var data2={"userName":"Teemo","address":"hy"};
saveDataAry.push(data1);
saveDataAry.push(data2);
$.ajax({
type:"POST",
url:"saveUser",
dataType:"json",
contentType:"application/json",
data:JSON.stringify(saveDataAry), //将 json 对象转为 json字符串
success:function(data){
//alert(data);
for(var i=0;i<data.length;i++){
var userName = data[i].userName;
var address = data[i].address;
alert(userName + "---" + address);
}
}
});
});
});
</script>
2.后台SpringMVC的controller: 使用 @RequestBody 注解来接受请求数据,使用@ResponseBody 注解来返回数据。
<span style="white-space:pre"> </span>/**
* 前端 请求 jons 串,后台返回 json串
* @param users
*/
@ResponseBody
@RequestMapping(value = "saveUser", method = {RequestMethod.POST })
<span style="white-space:pre"> </span>public List<User> saveUser(@RequestBody List<User> users) {
<span style="white-space:pre"> </span>System.out.println("user的size: " + users.size());
<span style="white-space:pre"> </span>List<User> listUser = new ArrayList<>(users);
<span style="white-space:pre"> </span>for(User list:listUser){
<span style="white-space:pre"> </span>System.out.println(list.getUserName()+ "---" + list.getAddress());
<span style="white-space:pre"> </span>String address = list.getAddress();
<span style="white-space:pre"> </span>list.setAddress(address + "^^^");
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>//将 listUser 返回前端
<span style="white-space:pre"> </span>return listUser;
<span style="white-space:pre"> </span>}
3.为了能接受从前端传过来的json数据,需要定义一个JavaBean。
package com.hebtu.springmvc.crud.entities;
public class User {
private String userName;
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}