# XMLHttpRequest

XMLHttpRequest(XHR)对象用于与服务器交互。

通过 XMLHttpRequest 可以在不刷新页面的情况下请求特定 URL,获取数据。这允许网页在不影响用户操作的情况下,更新页面的局部内容。

JsView 对 XMLHttpRequest 提供了支持。

# 1. 预备知识

如果你想了解 XMLHttpRequest 的基础知识,可以通过自己的方式或下方的链接:

# 2. 高阶封装库推荐

vue: axios, whatwg-fetch

# 3. 网络请求的异常回调信息

网络异常的判定方法推荐:

  • ontimeout监听,若是vue的axios,要打开 clarifyTimeoutError,才能收到
  • onerror监听,vue的axios场景下, 若未打开 clarifyTimeoutError,收到的error.code是 'ECONNABORTED' 而不是 'ETIMEDOUT'
  • 在onload处理中,确认 response.status 不为 200 或者 304

在以上的任意一个回调中,都可以关注response.status, 1000以上的错误码的含义可对应下表,同时 response.statusText 中有错误的详细描述也可参考

// 会直接触发onerror的错误值
public static final int Unknown = 1001;
public static final int IOError = 1002;
public static final int MalformedURL = 1003;
public static final int UnmatchedMethod = 1004;
public static final int ProtocolError = 1005;
public static final int UserCanceled = 1006;
public static final int ConnectError = 1007;
public static final int UnknownHostError = 1008;

// 会直接触发ontimeout的错误值
public static final int TimeoutError = 1010;
1
2
3
4
5
6
7
8
9
10
11
12
Last Updated: 5/8/2024, 3:55:49 AM