简单Ajax应用
引言:作为一个java初学者,对Ajax一直觉得很神奇,也很向往,一直也没有很主动的去学习,所以觉得好像很难。最近被迫应用了下,感觉没有想的那么难,也许是没有涉及的很深的原因吧!在这里主要是用来做唯一性的验证。 jQuery.post: jsp代码: function checkYhbh(){ var yhbh = document.getElementById("yhbh").value; while(yhbh.indexOf(" ")!=-1){ yhbh=yhbh.replace(" ",""); } jQuery.post("<c:url value='/sysManage/sysManage!checkYhbh.do' />",{yhbh:yhbh},function(data,textStatus){ if(data=='1'){ document.getElementById("val").innerHTML = "该用户编号已存在!" ; document.getElementById("val").style.color = "red" ; document.getElementById("toBack").disabled = true; }else if(yhbh==''){ document.getElementById("val").innerHTML = "编号不能为空!" ; document.getElementById("val").style.color = "red" ; document.getElementById("toBack").disabled = true; } else{ document.getElementById("val").innerHTML = "√" ; document.getElementById("val").style.color = "green" ; document.getElementById("toBack").disabled = false; } }); }; 代码解释:value='/sysManage/sysManage!checkYhbh.do' 这写的是对于action需要调用的方法。 data是方法(checkYhbh)返回的值。 其他代码就是通过对返回值data的判断去改变页面了,就不多讲了。 action代码: public String checkYhbh() throws Exception{ int flag=sysUserService.checkYhbh(yhbh); outString(flag+"");// 返回值 return null; } public void outString(String str) { try { getResponse().setContentType("text/html;charset=UTF-8"); PrintWriter out = getResponse().getWriter(); out.println(str); out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); } }
jsp代码: function add(yxbz){ var taskName = jQuery.trim(jQuery('#taskName').val()); var taskType = jQuery("#taskTypeId").val(); //验证任务名称是否重复,不重复才提交表单 jQuery.getJSON("<%=path%>/taskManage/taskManage!execute.do?action=hasTaskName&taskName="+taskName,{},function(data){ if(data!=null&&data!=""&&data.count>0) { alert("此任务名称已存在"); return; } }); } 代码解释:"<%=path%>/taskManage/taskManage!execute.do?action=hasTaskName&taskName="+taskName 这写的是对于action需要调用的方法和需要的参数。 其他代码就是通过对返回值data的判断去改变页面了。 action代码:
//判断任务编号是否存在 public void hasTaskName() { try { int count = taskManageService.getTaskByName(taskName).size(); String rngStr = JSONObject.fromObject("{count:"+count+"}").toString(); outJsonString(rngStr); } catch (Exception e) { e.printStackTrace(); } } public void outJsonString(String str) { try { getResponse().setContentType("text/javascript;charset=UTF-8"); PrintWriter out = getResponse().getWriter(); out.println(str); out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); } } 对于post和getJSON我也没搞明白这两者的区别,只是知道两者的返回值类型好像不一样,觉得post写起来简单些,所以一直都是用的post,如果有对这两个区别有所了解的还望指点一二。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |