简单Ajax应用

前端之家收集整理的这篇文章主要介绍了简单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,如果有对这两个区别有所了解的还望指点一二。

原文链接:https://www.f2er.com/ajax/166596.html

猜你在找的Ajax相关文章