认识AJAX

本文介绍了AJAX技术,一种用于创建动态网页应用的技术组合。详细解释了XMLHttpRequest对象如何实现异步数据读取,并展示了不同状态码的意义。同时,提供了具体的AJAX实现代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AJAX(Asynchronous JavaScript and XML)是多种技术的综合,
它使用Javascript绑定和处理所有数据。
使用XMLHttpRequest对象进行异步数据读取,
使用XML或json进行数据交换与处理,
使用DOM实现动态显示和交互,
使用XHTML和CSS标准化呈现,
更重要的是它打破了使用页面重载的惯例技术组合,可以说AJAX已成为Web开发的重要武器!

XHR.readyState五种状态 
XHR.readyState == 状态(0,1,2,3,4)

0:请求未初始化,还没有调用 open()。 
1:请求已经建立,但是还没有发送,还没有调用 send()。   //常用 
2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。 
3:请求在处理中;通常响应中已有部分数据可用了,没有全部完成。
4:响应已完成;您可以获取并使用服务器的响应了 //常用

服务器端状态
XHR.status == 200,300,404 等
100——客户必须继续发出请求
101——客户要求服务器根据请求转换HTTP协议版本
200——成功 常用201——提示知道新文件的URL
300——请求的资源可在多处得到
301——删除请求数据
404——没有发现文件、查询或URl
500——服务器产生内部错误

具体代码
function ajax(){
	var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');

	xhr.open('GET', '1.do?id=123', true); // true-异步,false-同步
	//xhr.open("POST", "1.do", true); // true-异步,false-同步

	xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); // POST请求必须加

	xhr.send(null); //GET发送null
	xhr.send("path=" + encodeURIComponent("aa&bb=c")); //POST发送的内容使用encodeURIComponent把字符串作为 URI 组件进行编码


	xhr.onreadystatechange = function(){
		if(xhr.readyState == 1){
			document.getElementById('ReadyState').innerHTML = "请求已经建立";// 等待时用图片显示
		}
		if(xhr.readyState == 4 && xhr.status == 200){
	    	var callbackVal = xhr.responseText;
			document.getElementById('Callback').innerHTML = callbackVal; //标志位 成功时显示内容
		}
	}
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值