java实现ajax的四种方法

第一种(最原生的那种,创建XmlHttpRequest对象):

<script type="text/javascript">
	  	//创建XmlHttpRequest对象
	  	function createXmlHttpRequest(){
	  		if(window.XMLHttpRequest){//返回值为true时说明是新版本IE或其他浏览器
	  			return new XMLHttpRequest();
	  		}else{//返回值为false时说明是老版本IE浏览器(IE5和IE6)
	  			return new ActiveXObject("Microsoft.XMLHTTP");
	  		}
	  	}
	  	//Ajax设置回调函数
	  	function callBack(){
	  		if(XMLHttpRequest.readyState==4 && XMLHttpRequest.status==200){
	  			var data = XMLHttpRequest.responseText;
	  			if(data == "true"){
	  				$("#nameDiv").html("用户名已被使用");
	  			}else{
	  				$("#nameDiv").html("用户名可以使用");
	  			}
	  		}
	  	}
	  	
	  	function validate(){
	  		var name = $("name").val();
	  		if(name==null || name==""){
	  			$("#nameDiv").html("用户名不能为空");
	  		}else{
	  			//1. 创建XMLHttpRequest
	  			XMLHttpRequest = createXmlHttpRequest();
	  			//2. 设置回调函数
	  			XMLHttpRequest.onreadystatechange = callBack;
	  			//3. 初始化XMLHttpRequest组件
	  			
	  			var url = "userServlet?name="+name;//服务器端URL地址,name为用户名文本框获取的值
	  			XMLHttpRequest.open("GET",url,true);
	  			//4. 发送请求
	  			XMLHttpRequest.send(null);
	  			//上边使用的是get,下面使用的是post
	  			//var url = "userServlet";
	  			//XMLHttpRequest.open("POST",url,true);
	  			//XMLHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	  			//var data = "name"+name;//需要发送的数据信息,name为用户名文本框获取的值
	  			//XMLHttpRequest.send(data);
	  		}
	  	}
  </script>

(下面三种方法,是对登录的一种检测,进行局部刷新,输出相对应的提示)
表单为:

<form > 
    	<table>
    		<tr>
    			<td>用户名:</td>
    			<td>
    				<input type="text" name="name" id="name" >
    			</td>
    			<td>
    				<div id="nameDiv" style="display: inline"></div>
    			</td>
    		</tr>
    	</table>
    </form>

第二种(get方法):

<script type="text/javascript">
 		$(function(){
 			$("#name").blur(function(){
 				var name = $(this).val();
 				//var name = this.value;
 				if(name==null || name==""){
 					$("#nameDiv").html("用户名不能为空");
 				}else{
 					$.get("userServlet","name="+name,callBack);
 					//响应成功时的回调函数
 					function callBack(data){
 						if(data=="true"){
 							$("#nameDiv").html("用户名已被使用");
 						}else{
 							$("#nameDiv").html("用户名可以使用");
 						}
 					}
 				}
 			});
 		});
 	</script>

第三种(post方法):

<script type="text/javascript">
 		$(function(){
 			$("#name").blur(function(){
 				var name = $(this).val();
 				//var name = this.value;
 				if(name==null || name==""){
 					$("#nameDiv").html("用户名不能为空");
 				}else{
 					$.post("userServlet","name="+name,callBack);
 					//响应成功时的回调函数
 					function callBack(data){
 						if(data=="true"){
 							$("#nameDiv").html("用户名已被使用");
 						}else{
 							$("#nameDiv").html("用户名可以使用");
 						}
 					}
 				}
 			});
 		});
 	</script>

第四种:

<script type="text/javascript">
 		$(function(){
 			$("#name").blur(function(){
 				var name = $(this).val();
 				//var name = this.value;
 				if(name==null || name==""){
 					$("#nameDiv").html("用户名不能为空");
 				}else{
 					$.ajax({
 						"url"		:"userServlet",	//要提交的URL路径
 						"type"		:"POST",		//发送请求的方式
 						"data"		:"name="+name,	//要发送到服务器的数据
 						"success"	:callBack		//响应成功后要执行的代码
 					});
 					//响应成功时的回调函数
 					function callBack(data){
 						if(data=="true"){
 							$("#nameDiv").html("用户名已被使用");
 						}else{
 							$("#nameDiv").html("用户名可以使用");
 						}
 					}
 				}
 			});
 		});
 	</script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本课程详细讲解了以下内容:    1.jsp环境搭建及入门、虚拟路径和虚拟主机、JSP执行流程    2.使用Eclipse快速开发JSP、编码问题、JSP页面元素以及request对象、使用request对象实现注册示例    3.请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题     4.session与cookie问题及application、cookie补充说明及四种范围对象作用域     5.JDBC原理及使用Statement访问数据库、使用JDBC切换数据库以及PreparedStatement的使用、Statement与PreparedStatement的区别     6.JDBC调用存储过程和存储函数、JDBC处理大文本CLOB及二进制BLOB类型数据     7.JSP访问数据库、JavaBean(封装数据和封装业务逻辑)     8.MVC模式与Servlet执行流程、Servlet25与Servlet30的使用、ServletAPI详解与源码分析     9.MVC案例、三层架构详解、乱码问题以及三层代码流程解析、完善Service和Dao、完善View、优化用户体验、优化三层(加入接口和DBUtil)    1 0.Web调试及bug修复、分页SQL(Oracle、MySQL、SQLSERVER)     11.分页业务逻辑层和数据访问层Service、Dao、分页表示层Jsp、Servlet     12.文件上传及注意问题、控制文件上传类型和大小、下载、各浏览器下载乱码问题     13.EL表达式语法、点操作符和中括号操作符、EL运算、隐式对象、JSTL基础及set、out、remove     14.过滤器、过滤器通配符、过滤器链、监听器     15.session绑定解绑、钝化活化     16.以及Ajax的各种应用     17. Idea环境下的Java Web开发
Java实现 AJAX,可以使用 Java Servlet 和 Java Server Pages(JSP)来处理 AJAX 请求和响应。以下是实现 AJAX 的步骤: 1. 在 JSP 页面中创建 XMLHttpRequest 对象,用于向 Servlet 发送请求,并接收响应。 2. 在 Servlet 中处理 AJAX 请求,可以使用 doGet() 或 doPost() 方法来处理请求,然后将响应数据发送回 JSP 页面。 3. 在 JSP 页面中使用 JavaScript 来处理响应数据,通常是通过 DOM 操作来更新页面内容。 以下是一个简单的例子,演示了如何使用 Java Servlet 和 JSP 实现 AJAX: 在 JSP 页面中,使用 JavaScript 创建 XMLHttpRequest 对象,并发送 AJAX 请求: ``` <script> function loadDoc() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("demo").innerHTML = this.responseText; } }; xhttp.open("GET", "ajaxServlet", true); xhttp.send(); } </script> <button type="button" onclick="loadDoc()">Get Data</button> <div id="demo"></div> ``` 在 Servlet 中,使用 doGet() 方法来处理 AJAX 请求,并返回响应数据: ``` protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/plain"); PrintWriter out = response.getWriter(); out.println("Hello, AJAX!"); } ``` 当用户点击按钮时,JavaScript 调用 loadDoc() 函数来发送 AJAX 请求,Servlet 接收请求并返回文本数据,然后 JavaScript 更新页面内容,将响应数据显示在 <div> 元素中。 需要注意的是,由于 AJAX 请求是异步的,因此必须使用回调函数来处理响应数据。在上面的例子中,使用了 XMLHttpRequest 对象的 onreadystatechange 属性来指定回调函数,当 readyState 和 status 属性满足条件时,就会执行回调函数,并将响应数据显示在页面上。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值