XMLHttpRequest
对象用于在浏览器中发起异步 HTTP 请求,以便与服务器进行数据交换,而无需重新加载整个页面。
主要功能:
- 发起请求:支持 GET、POST、PUT、DELETE 等 HTTP 方法。
- 异步处理:可以以异步方式发送请求,避免阻塞用户界面。
- 处理响应:能够接收服务器返回的数据,并根据需要处理,比如更新页面内容。
- 事件处理:支持
onreadystatechange
事件,用于在请求状态变化时执行回调函数。常用的readyState
属性值包括 0(未初始化)、1(加载中)、2(加载完成)、3(交互中)、4(完成)。
常用方法:
open(method, url, async, user, password)
:配置请求。send(body)
:发送请求,可以包含数据。setRequestHeader(header, value)
:设置请求头部。abort()
:取消请求。
常用属性:
status
:返回 HTTP 状态码(如 200、404)。statusText
:返回状态文本描述。responseText
:返回响应内容(文本形式)。responseXML
:返回响应内容(XML 形式)。
优缺点:
- 优点:
- 异步处理:提高用户体验,不需要刷新页面。
- 灵活性:支持多种 HTTP 方法和数据格式。
- 缺点:
- 复杂性:处理异步请求时,代码可能变得复杂。
- 安全性:容易受跨域问题影响,需要处理跨域请求。