使用 xmlhttprequest 发送异步请求需四步:创建实例、open() 配置方法/url/异步标志、必要时 setrequestheader() 设请求头、send() 发送;通过 onload/onerror 监听响应,用 status 和 responsetext 处理结果。

使用 XMLHttpRequest(简称 XHR)发送基础异步请求,核心是创建实例、配置请求、设置响应处理、发起发送。它不依赖第三方库,原生支持所有现代浏览器。
创建并初始化 XHR 实例
先调用构造函数生成对象,再用 open() 方法设定请求方式、URL 和是否异步:
-
open(method, url, async)中method常用"GET"或"POST";url是目标地址;async一般为true(默认值),设为false会阻塞主线程,已不推荐 - 此时请求尚未发出,只是准备就绪
设置请求头(仅 POST 等需传参时需要)
如果要发送 JSON 数据或表单数据,需在 send() 前调用 setRequestHeader() 明确内容类型:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 发 JSON:加
xhr.setRequestHeader("Content-Type", "application/json") - 发 URL 编码表单:加
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") - GET 请求通常无需设请求头,参数直接拼在 URL 后面
监听响应并处理结果
通过监听 onload 事件获取成功响应,用 onerror 捕获网络失败,用 status 判断 HTTP 状态码:
-
xhr.onload在请求完成且状态码为 2xx 或 3xx 时触发(注意:304 也进这里) -
xhr.status是数字状态码,如200表示成功;xhr.responseText是服务器返回的文本内容 - 若需解析 JSON,建议用
JSON.parse(xhr.responseText),但先检查xhr.status === 200和非空响应 - 网络错误(如断网、跨域拒绝)走
xhr.onerror,此时status可能为 0
发送请求并传递数据
调用 send() 方法真正发出请求。参数用于 POST/PUT 等带体请求:
- GET 请求:直接
xhr.send(),参数留空 - POST 发送字符串:如
xhr.send("name=Tom&age=25") - POST 发送 JSON:先
JSON.stringify({name: "Tom", age: 25}),再传入send()
不复杂但容易忽略细节,比如忘记设请求头、没判断 status 就解析 JSON、或在 onload 外读取 responseText。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










