- AJAX 教程
- AJAX - 首页
- AJAX - 什么是 AJAX?
- AJAX - 历史
- AJAX - 动态网站与静态网站
- AJAX - 技术
- AJAX - 操作
- AJAX - XMLHttpRequest
- AJAX - 发送请求
- AJAX - 请求类型
- AJAX - 处理响应
- AJAX - 处理二进制数据
- AJAX - 提交表单
- AJAX - 文件上传
- AJAX - FormData 对象
- AJAX - 发送 POST 请求
- AJAX - 发送 PUT 请求
- AJAX - 发送 JSON 数据
- AJAX - 发送数据对象
- AJAX - 监控进度
- AJAX - 状态码
- AJAX - 应用
- AJAX - 浏览器兼容性
- AJAX - 示例
- AJAX - 浏览器支持
- AJAX - XMLHttpRequest
- AJAX - 数据库操作
- AJAX - 安全性
- AJAX - 问题
- Fetch API 基础
- Fetch API - 基础
- Fetch API 与 XMLHttpRequest
- Fetch API - 浏览器兼容性
- Fetch API - 头部信息
- Fetch API - 请求
- Fetch API - 响应
- Fetch API - 主体数据
- Fetch API - 凭据
- Fetch API - 发送 GET 请求
- Fetch API - 发送 POST 请求
- Fetch API - 发送 PUT 请求
- Fetch API - 发送 JSON 数据
- Fetch API - 发送数据对象
- Fetch API - 自定义请求对象
- Fetch API - 上传文件
- Fetch API - 处理二进制数据
- Fetch API - 状态码
- Stream API 基础
- Stream API - 基础
- Stream API - 可读流
- Stream API - 可写流
- Stream API - 变换流
- Stream API - 请求对象
- Stream API - 响应主体
- Stream API - 错误处理
- AJAX 有用资源
- AJAX - 快速指南
- AJAX - 有用资源
- AJAX - 讨论
AJAX - 状态码
在 AJAX 中,XMLHttpRequest 支持各种属性和方法来执行不同类型的操作。在这些属性和方法中,status 属性/特性是一个状态码,它指定了由 XMLHttpRequest 对象发送的数据请求的整体状态。或者我们可以说状态码是一个三位数字,它表示 XMLHttpRequest 对象发送的请求的结果,例如请求是否成功、遇到错误或重定向等。
因此,status 属性的语法如下:
格式
if(XMLHttpRequestObjectName.status == 200){
// Body
}
在这里,我们可以使用 XMLHttpRequest 对象访问 status 属性或特性。如果状态码等于 200,则主体内的代码将执行。
状态码
HTTP 状态返回的状态码如下:
成功
| 状态 | 消息 | 描述 |
|---|---|---|
| 200 | OK | 如果请求正常。 |
| 201 | 已创建 | 当请求完成并创建了一个新的资源时。 |
| 202 | 已接受 | 当服务器接受请求时。 |
| 204 | 无内容 | 当响应主体中没有数据时。 |
| 205 | 重置内容 | 对于额外的输入,浏览器会清除用于事务的表单。 |
| 206 | 部分内容 | 当服务器返回指定大小的部分数据时。 |
重定向
| 状态 | 消息 | 描述 |
|---|---|---|
| 300 | 多重选择 | 用于表示链接列表。以便用户可以选择任何一个链接并转到该位置。它只允许五个位置。 |
| 301 | 永久移动 | 当请求的页面移动到新的 URL 时。 |
| 302 | 已找到 | 当在不同的 URL 中找到请求的页面时。 |
| 304 | 未修改 | URL 未修改。 |
客户端错误
| 状态 | 消息 | 描述 |
|---|---|---|
| 400 | 错误请求 | 服务器无法满足请求,因为请求格式错误或语法无效。 |
| 401 | 未授权 | 请求需要身份验证,并且用户未提供有效的凭据。 |
| 403 | 禁止 | 服务器理解了请求,但未满足它。 |
| 404 | 未找到 | 未找到请求的页面。 |
| 405 | 方法不允许 | 页面不支持发出请求的方法。 |
| 406 | 不可接受 | 服务器生成的响应无法被客户端接受。 |
| 408 | 请求超时 | 服务器超时 |
| 409 | 冲突 | 由于请求冲突,请求未满足。 |
| 410 | 已消失 | 请求的页面不可用。 |
| 417 | 异常失败 | 服务器与 Expect 请求头字段的要求不匹配。 |
服务器错误
| 状态 | 消息 | 描述 |
|---|---|---|
| 500 | 内部服务器错误 | 当服务器在处理请求时遇到错误时 |
| 501 | 未实现 | 当服务器无法识别请求方法或缺乏满足请求的能力时 |
| 502 | 错误网关 | 当服务器充当网关并从另一个服务器(上游)获取无效响应时 |
| 503 | 服务不可用 | 当服务器不可用或宕机时 |
| 504 | 网关超时 | 当服务器充当网关并且没有及时从另一个服务器(上游)收到响应时。 |
| 505 | 不支持的 HTTP 版本 | 当服务器不支持 HTTP 协议的版本时。 |
| 511 | 需要网络身份验证 | 当客户端需要进行身份验证才能访问网络时。 |
流程图
在下面的代码中,我们从服务器检索数据。因此,我们创建一个名为 showDoc() 的函数。现在,我们通过单击“单击此处”按钮来调用此函数。此函数将使用 XMLHttpRequest() 构造函数创建一个新的 XHR 对象。然后它创建一个回调函数,该函数将处理请求。然后它调用 XHR 对象的 open() 函数以使用 HTTP GET 方法和服务器的 URL 初始化请求。最后,它调用 send() 函数将请求发送到服务器。
因此,当服务器响应请求时,“onreadystatechange”属性将使用 XMLHttpRequest 对象的当前状态调用回调函数。如果状态为 200,则表示请求成功,因此它在屏幕上显示结果并在控制台日志中写入消息。如果状态为 404,则表示服务器遇到错误。因此,我们在控制台日志中收到错误消息。
示例
<!DOCTYPE html>
<html>
<body>
<script>
function ShowDoc() {
// Creating XMLHttpRequest object
var myhttp = new XMLHttpRequest();
// Creating call back function
myhttp.onreadystatechange = function() {
// Checking the status of the response
// This will proceed when the response is successful
if (this.status == 200){
console.log("Found the requested data")
document.getElementById("example").innerHTML = this.responseText;
}
// This will proceed when the error is found
else if(this.status == 404){
console.log("Found error");
}
};
// Open the given file
myhttp.open("GET", "https://jsonplaceholder.typicode.com/todos/3", true);
// Sending the request to the server
myhttp.send();
}
</script>
<p>Please click on the button to fetch data</p>
<button type="button" onclick="ShowDoc()">Click Here</button>
<div id="example"></div>
</body>
</html>
输出
结论
因此,这些是 XMLHttpRequest 使用的状态码。这些状态码表示请求的状态。根据这些状态码,我们可以对请求执行操作。现在在下一篇文章中,我们将学习 XMLHttpRequest 如何处理错误。
广告