js通过ajax向action提交数据,并通过回调显示数据

来源:互联网 发布:台词 知乎 编辑:程序博客网 时间:2024/05/01 10:32

js端:请求方法:

function fdoing(id,userId){
 var doSome = document.getElementById(id).value;
 doSome = encodeURI(encodeURI(doSome));
 var userId = document.getElementById(userId).value;
 var flag = "1";
 createXMLHttpRequest();
 if (xmlrequest) {
  
  //准备发送请求
  var req = "/xiaoneinew/ChangeInfo?doSome="+doSome+"&userId="+userId+"&operType="+flag;
 
  //打开请求
  xmlrequest.open("get", req, true);
  //指定处理结果的函数
  xmlrequest.onreadystatechange = updataHomePage;
  //发送请求
  xmlrequest.send();
 }
}


action端:

String doSome=request.getParameter("doSome");
   doSome = URLDecoder.decode(doSome, "UTF-8");
   String userId=request.getParameter("userId");
   String message = "";
   UserServiceInter userService=(UserServiceInter)ctx.getBean("userServiceImpl");
   List<Users> uniList=userService.getResult
   ("from Users where id=?", new Object[]{Integer.valueOf(userId)});
   for (int i = 0; i < uniList.size(); i++) {
    Users u = uniList.get(i);
    u.setDoing(doSome);
    userService.update(u);
    //构造成xml格式,用于传输,让前端可以获取
       message = "<unis><id>" + doSome + "</id></unis>";
   }
   //将数据写回
   out.write(message);
   out.close();


js端回调函数:

function updataHomePage(){
 //完成
 if (xmlrequest.readyState == 4) {
  //成功返回!
  if (xmlrequest.status == 200) {
   var unis = xmlrequest.responseXML.getElementsByTagName("unis");
   var con = "";
   con +="<span class=\"word4\" id=\"sudo\"></span>";
   con +="<a class=\"xh\" href=\"javascript:void(0);\" onclick=\"showDoing()\">"+unis[0].childNodes[0].childNodes[0].data+"</a>";
   document.getElementById("showDoing").innerHTML = con;
  }
 }
}



0 0