·兼容性
现代的高级浏览器,使用的AJAX对象是XMLHttpRequest的实例。
早期微软的IE系列浏览器,使用的对象是ActiveXObject(“Microsoft.XMLHttp”)的实例。
/* 通过能力检测 检测浏览器是否具备该能力 */
var xhr = null;
// 如果有ActiveXObject构造函数 就使用它
if (window.ActiveXObject) {
xhr = new ActiveXObject("Microsoft.XMLHttp");
} else if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else {
console.log("您的浏览器不支持AJAX,请升级");
return;
·XHR对象

重要属性:
readyState: 等待状态码
0: 未初始化
1: 调用了open方法
2: 已经接收到响应头
3: 已经接收了一部分返回内容
4: 接收了全部数据 可以使用了
responseText: 响应文本
status: 本次HTTP请求的状态码
200: 成功
302: 重定向
304: 缓存
404: 资源未找到
500: 服务器内部错误
onreadystatechange: 当等待状态码(readystate)发生变化时 会执行的函数
open方法: 它在原型上,用于打开本次请求
send方法: 它在原型上,用于发送数据
setRequestHeader方法: 设置请求头
·open方法
xhr.open(type, url, boolean)调用时,会打开本次链接。
type: 本次HTTP请求的方式。get、post等
url: 本次HTTP请求的URL。可以是相对路径可以是绝对路径
boolean: 本次同步发送还是异步发送。true为异步,false为同步。
·send方法
xhr.send(data)调用时,表示发送的正文内容。
data: 请求正文中的数据。
本文详细介绍了AJAX的初始化,包括兼容性处理、XMLHttpRequest(XHR)对象的属性和方法,如readyState、status、open()和send()。在现代浏览器中,AJAX通过XMLHttpRequest实例实现,而在旧版IE浏览器中则使用ActiveXObject。同时,文章讲解了open()方法的参数以及send()方法在发送数据时的作用。
1240

被折叠的 条评论
为什么被折叠?



