引言:作为一个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(); } }
jQuery.getJSON:
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是方法(hasTaskName)返回的值。
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,如果有对这两个区别有所了解的还望指点一二。
原文链接:https://www.f2er.com/ajax/166596.html