苏州优秀网站设计公司,阿里巴巴电子商务网站,做兼职调查哪个网站好,微信群二维码推广平台学习笔记#xff1a;XMLHttpRequest
特点#xff1a; 在不重新加载页面的情况下更新网页在页面已加载后从服务器请求数据在页面已加载后从服务器接收数据在后台向服务器发送数据创建XMLHttpRequest对象 xmlhttpnew XMLHttpRequest()#xff1b;IE5 和 IE6#xff0c;使用 …
学习笔记XMLHttpRequest
特点 在不重新加载页面的情况下更新网页在页面已加载后从服务器请求数据在页面已加载后从服务器接收数据在后台向服务器发送数据创建XMLHttpRequest对象 xmlhttpnew XMLHttpRequest()IE5 和 IE6使用 ActiveX 对象 xmlhttpnew ActiveXObject(Microsoft.XMLHTTP);经典代码示例
//创建XMLHttpRequest对象
if(window.ActiveXObject){ //适用于IE6之前xmlhrnew ActiveXObject(Microsoft.XMLHTTP);
} else if(window.XMLHttpRequest){xmlhrnew XMLHttpRequest();
}if (xmlhr!null){xmlhr.onreadystatechangestate_Change;xmlhr.open(GET,url,true);xmlhr.send(null);
}
else{alert(Your browser does not support XMLHTTP.);
}function state_Change(){if (xmlhr.readyState4){// 4 loadedif (xmlhr.status200){// 200 OK// ...our code here...document.getElementById(T1).innerHTMLxmlhr.responseText;}else{alert(Problem retrieving XML data);}}
}
XMLHttpRequest 对象的状态(readyState)
0 - 未初始化(uninitialized)。对象已创建或已被 abort() 方法重置但未调用 open() 方法。1 - 启动(open)。已调用 open() 方法但未调用 send() 方法。2 - 发送(send)。已调用 send() 方法但未收到响应。3 - 接收(receiving)。已经接收部分数据。4 - 完成(Loaded/complete)。已经接收到全部数据并且可以在客户端使用。 XMLHttpRequest对象提供的事件处理
onloadstart: 当请求开始时触发onprogress: 在请求过程中持续触发用于跟踪进度onabort: 当请求被中止时触发onerror: 当请求发生错误时触发onload: 当请求成功完成时触发ontimeout: 当请求超时时触发onloadend: 当请求结束时触发不论成功或失败都会触发onreadystatechangereadyState 属性发生变化时触发
XMLHttpRequest发起http请求时的方法
open(method, url, async) method: 请求方式,GET、POST等url 请求地址boolean是否异步当true时send方法后继续执行是防止代码停止的最安全的方法当false时可以省去onreadystatechange代码若是请求失败不再执行的话选false。send(data) data: 可选参数发送请求时传递数据setRequestHeader(header, value) 设置请求头消息如“Content-Type”等header 请求字段value字段值abort() 终止当前请求 XMLHttpRequest接收数据时的方法
responseText: 返回作为字符串形式的响应数据responseXML: 如果服务器返回的数据是 XML 格式可以使用此属性获取解析后的 XML 文档response: 返回一个包含响应数据的属性其类型根据响应的 Content-Type 自动转换status: 返回响应的 HTTP 状态码statusText: 返回 HTTP 状态码的文本描述getAllResponseHeaders(): 返回包含所有响应头信息的字符串getResponseHeader(header): 返回指定响应头的值