一种是ajax,另外一种就是form表单的action方法写后台接受数据的方法。
其中ajax能实现局部刷新,而form表单却需要页面跳转,无法做到ajax的异步功能。
form表单有个优点是所有name的 input标签中的数据 都会传到后台,而ajax却需要每个获取要传送的数据,但是最近发现一个serialize方法 能让ajax获取到所有input表签的数据,避免重复代码。
function testAjax() {
varusers=[{name:'张三', age:'21', birth:'1994-12-12'},
{name:'李四', age:'20', birth:'1995-12-11'},
{name:'wangwu', age:'20', birth:'1995-12-11'}];
$.ajax({
type:'POST',
data:JSON.stringify(users),
contentType :'application/json',
dataType:'json',
url :'user/saveJsonUser.do',
success :function(data) {
alert("OK");
},
error :function(e) {
alert("error");
}
});
}
后台处理
public Map saveJsonUser(@RequestBody User[]users){
for(Useru:users){
System.out.println(u.getName()+" "+u.getAge()+" "+u.getBirth());
}
Map result=newHashMap();
result.put("success","123");
return result;
}
jQuery.ajax({
url: "$url_rest_edit",
data:jQuery("#theform").serialize(),
type: "POST",
async:false,
cache:false,
success:function(data) {
try {
if(data=='操作成功') {
alert("操作成功"); //发送短信后提醒
window.location.href = '/f/v/objlist?clsid=qbeee9b0375e11e6a93050e5498642a3&pagid=qaee6240376111e69a2050e5498642a3';
} else {
alert(data);
}
} catch(e) {
alert(data+' '+e.name+':'+e.message);
}
}
});
网友评论