# 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
2
3
4
5
6
7
8
9
10
11
12