简单Ajax应用

来源:互联网 发布:苹果手机同步软件 编辑:程序博客网 时间:2024/05/16 19:17

         引言:作为一个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)返回的值。

                       其他代码就是通过对返回值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,如果有对这两个区别有所了解的还望指点一二。


 

 

 

 

 

 

 

 

  

原创粉丝点击