简单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();
 		  }
		 }


  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,如果有对这两个区别有所了解的还望指点一二。


 

 

 

 

 

 

 

 

  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值