Ajax的异步处理之get请求响应XML

 依托jsp,编写ajax的get请求,体现异步处理。页面通过点击按钮出现请求回复的内容,同时服务器打印输出其他内容。

注意:xmlHttp.send(null);是因为get没有请求体,若post则会填写相应数据。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'ajax1.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

</head>
<script type="text/javascript">
	//创建异步对象
	function createXMLHttpRequest() {
		try {
			return new XMLHttpRequest();
		} catch (e) {
			try {
			return ActiveXObject("Msxm12.XMLHTTP");//IE6.0
			} catch (e) {
				try {
				return  ActiveXObject("Microsoft.XMLHTTP");//IE5.5以下版本
				} catch (e) {
				alert("请问你用的是什么浏览器?");
				throw e;
				}
			}
		}
	};
	window.onload = function() { //文档加载完毕后执行
		var btn1 = document.getElementById("btn1");
		btn1.onclick = function() { //按钮事件注册监听
			/*Ajax的四步操作
			        目的得到服务器的响应,把相应结果显示到h1
			*/
			//第一步得到异步对象
			var xmlHttp= createXMLHttpRequest();
			//第二步打开与服务器的连接
			/*参数:指定请求方式,指定请求的url,指定是否为异步请求
			*/
			xmlHttp.open("GET","/Demoajax/AServlet",true);
			//第三步发送请求
			xmlHttp.send(null);//get请求没有请求体,但也要给出null,不然火狐浏览器可能会不能发送
			//第四步给出异步对象onreadystatechange事件注册监听器
			xmlHttp.onreadystatechange=function(){//当xmlHttp的状态码发生改变时执行 
			//双重判断:xmlHttp的状态为4和服务器响应的状态码为200
			if(xmlHttp.readyState==4&&xmlHttp.status==200){
			//获取服务器的响应结束
			var text=xmlHttp.responseText;
			//获取h1元素
			var h1=document.getElementById("h1");
			h1.innerHTML=text;
			}
			
			}
		}
	}
</script>
<body>
	<button id="btn1">你可以点击这里</button>
	<h1 id="h1"></h1>
</body>
</html>

浏览器:

 

服务器:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值