jqery 异步请求
1..post2..ajax
前台页面
<a href="javascript:del(${data.id});">处理</a>
//前台js
var userid=调用这个js传的值;//此时userid=${data.id}
var url="请求的url";
$.ajax({
type : "post",//以post方式请求
url : url,
dataType : "json",//数据格式为json
data:{
"userid":userid
},//带的参数,后台可以直接获取
success: function(data){ //成功时执行的方法
if(data){
if(data.后台放入的json格式的变量=="0"){
alert("aaa");
}else if(data.后台放入的json格式的变量=="1"){
alert("bbb");
}
}
},
error:function(){//失败时执行的方法
alert('操作错误');
}
});
后台
public void removePayPassword(){
String flag;
Map<String,Object> map = new HashMap<String,Object>();
//获取js中data的数据
Long id=Long.parseLong(Struts2Utils.getParameter("userid"));
User user =userManager.getUser(id);
if(user == null){
return;
}
String payPass=user.getPayPassword();
if(payPass == null){
flag="0";
map.put("返回状态", true);
map.put("后台放入的json格式的变量", flag);
}else if(payPass != null){
user.setPayPassword(null);
userManager.saveUser(user);
flag="1";
map.put("返回状态", true);
map.put("后台放入的json格式的变量", flag);
}
Struts2Utils.renderJson(map);//将后台需要传到前台的值封装进json中
}
注**
success: function(data,state)
成功函数带两个参数时。第二个为执行方法的返回状态
注
如果后台方法
public String removePayPassword(){
return null;
}
否则前台是获取不到后台放入到json中的值