使用jQuery的getJSON方法实现配置信息的状态的异步修改
2013-07-05 11:08
1006 查看
引言:在以往的程序中,我大多数都是使用的jQuery的post方法来做异步操作,但这次不同以往,需要返回的信息有好几个,不是单一的,所以最终决定使用getJSON方法来实现配置信状态的异步修改。
以下为具体实现的代码:
1、点击超链接,将配置的id与状态值传给要调用的javascript方法updatePzActive,调用Action中的方法实现配置信息状态的异步修改。
2、javaScript方法updatePzActive:
注:在传参的时候,加上当前时间是为了避免调用缓存。
3、Action中实现状态的修改
以下为具体实现的代码:
1、点击超链接,将配置的id与状态值传给要调用的javascript方法updatePzActive,调用Action中的方法实现配置信息状态的异步修改。
<span id="changeActive_${ipJmPz.pzId}"> <c:if test="${ipJmPz.active==1&&ipJmPz.valid==1}"> <a href="javascript:updatePzActive('${ipJmPz.pzId}','0')">| 停用</a> <a href="javascript:updatePzActive('${ipJmPz.pzId}','2')">| 流控停用</a> </c:if> <c:if test="${ipJmPz.active==0&&ipJmPz.valid==1}"> <a href="javascript:updatePzActive('${ipJmPz.pzId}','1')">| 启用</a> <a href="javascript:updatePzActive('${ipJmPz.pzId}','2')">| 流控停用</a> </c:if> <c:if test="${ipJmPz.active==2&&ipJmPz.valid==1}"> <a href="javascript:updatePzActive('${ipJmPz.pzId}','1')">| 启用</a> <a href="javascript:updatePzActive('${ipJmPz.pzId}','0')">| 停用</a> </c:if> </span>
2、javaScript方法updatePzActive:
function updatePzActive(id,active) { $.getJSON("<%=path%>/pluginConfig/ipJmPzManage.do?action=updatePzActive", {ipJmPzID:id,active:active,time:new Date()}, function(data){ if(data!=null&&data!="") { if(data.result=='success') { var acitveStr = ''; //修改当前状态 var changeActiveHtmlStr = '';//修改当前操作 var czsjStr = data.czsj;//修改当前操作时间 if(active==1) {//说明修改后的状态是启用 acitveStr = '<div align="center"><span class="STYLE1" ><font color="green">启用</font></span></div>'; changeActiveHtmlStr = '<a href="javascript:updatePzActive('+data.ipJmPzID+',0)">| 停用 </a>'; changeActiveHtmlStr+='<a href="javascript:updatePzActive('+data.ipJmPzID+',2)">| 流控停用 </a>'; }else if(active==0) { acitveStr = '<div align="center"><span class="STYLE1" ><font color="red">停用</font></span></div>'; changeActiveHtmlStr = '<a href="javascript:updatePzActive('+data.ipJmPzID+',1)">| 启用 </a>'; changeActiveHtmlStr+='<a href="javascript:updatePzActive('+data.ipJmPzID+',2)">| 流控停用 </a>'; }else{ acitveStr = '<div align="center"><span class="STYLE1" ><font color="#0000C6">流控停用</font></span></div>'; changeActiveHtmlStr = '<a href="javascript:updatePzActive('+data.ipJmPzID+',1)">| 启用 </a>'; changeActiveHtmlStr += '<a href="javascript:updatePzActive('+data.ipJmPzID+',0)">| 停用 </a>'; } jQuery("#active_"+data.ipJmPzID).html(acitveStr); jQuery("#changeActive_"+data.ipJmPzID).html(changeActiveHtmlStr); jQuery("#czsj_"+data.ipJmPzID).html(czsjStr); alert("操作成功!"); }else if(data.result="overtime"){ alert("该配置的生效时间已过期,不能启用或流控停用!"); }else { alert("操作失败!"); } } }); }
注:在传参的时候,加上当前时间是为了避免调用缓存。
3、Action中实现状态的修改
public void updatePzActive(){ String result=""; String czsjStr=""; try { if (ipJmPzID!=null&&!"".equals(ipJmPzID)) { IpJmPz ipJmPz = (IpJmPz) ipJmPzService.getipJmPzByID(ipJmPzID).get(0); //当操作时间不在有效时间范围内,只允许“停用”操作。 if ((active==1||active==2)&&ipJmPz.getEndTime()!=null&&ipJmPz.getEndTime().before(new Date())) { result="overtime"; }else { ipJmPzService.updatePzActive(ipJmPzID,active); ipJmPz = this.ipJmPzService.getOneIpJmPzByID(ipJmPzID); czsjStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(ipJmPz.getCzsj()); result="success"; } }else { result = "fail"; } String rngStr = JSONObject.fromObject("{result:'"+result+"';ipJmPzID:"+ipJmPzID+";czsj:'"+czsjStr+"'}").toString(); outJsonString(rngStr); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); result="fail"; String proType = ""; if(ipJmPzIndex.getProType()!=null) { proType = String.valueOf(ipJmPzIndex.getProType()); } outHtmlString("<script>alert('操作失败');window.location='ipJmPzManage!execute.do?action=queryIpJmPzInfo&menusID="+this.getMenusID()+"&position="+this.getPosition()+"&pageSize="+pageSize+"&ipJmPzIndex.proType="+proType+"&typeId="+typeId+"';</script>"); } String rngStr = JSONObject.fromObject("{result:'"+result+"';ipJmPzID:"+ipJmPzID+";czsj:'"+czsjStr+"'}").toString(); outJsonString(rngStr); }
相关文章推荐
- jQuery的ajax()检验用户名;通过jQuery的load()/get()/post()方法实现;使用XMLHTTPRequest对象来进行AJAX的异步数据交互
- 【视频】配置信息管理 的 使用方法(六):实现添加、修改、查询
- jQuery_review之使用$.getScript()以及$.getJSON来与服务端进行异步信息交互
- 【视频】配置信息管理 的 使用方法(六):实现添加、修改、查询
- 【视频】配置信息管理 的 使用方法(六):实现添加、修改、查询
- 使用Jquery中getJSON和getScript方法实现跨域(转载)
- 【jQuery】使用getJSON()方法异步加载JSON格式数据
- 使用Jquery中getJSON和getScript方法实现跨域
- 使用Jquery中getJSON方法实现跨域
- JQuery中getJSON的使用方法
- jquery中$.getJSON 的使用方法
- JSP+jquery使用ajax方式调用json的实现方法
- 使用jquery+json实现ajax的方法
- 使用iQuery的getJSON方法实现跨域
- 为您解惑:jQuery中$.getJSON( )的使用方法简介之获取JSON格式的数据.........
- jquery的ajax和getJson跨域获取json数据的实现方法
- JQuery------$.getJSON()方法的使用
- 使用jquery+json实现ajax的方法
- JQuery中getJSON的使用方法
- 11-Jquery使用get方法实现用户名的验证