【JavaScript】手写AJAX

【JavaScript】手写AJAX

//什么是Ajax? async JavaScript and XML(JSON)

let xhr = new XMLHttpRequest();
xhr.open('GET','/requestHttpDemo');

// xhr.onload = () => {
//     console.log('请求成功');
// }
// xhr.onerror = () => {
//     console.error('请求异常');
// }

xhr.onreadystatechange = () => {
    console.log(xhr.readyState);
    if (xhr.readyState == 4) {
        if (xhr.status == 200) {
            console.log(xhr.response);
            console.log('请求成功');
        } else {
            console.error('请求异常');
        }
    }
}

xhr.send({
    id: 1
})

0 UNSENT XMLHttpRequest 代理已被创建, 但尚未调用 open() 方法。

1 OPENED open() 方法已经被触发。在这个状态中,可以通过 setRequestHeader() 方法来设置请求的头部, 可以调用 send() 方法来发起请求。

2 HEADERS_RECEIVED send() 方法已经被调用,响应头也已经被接收。

3 LOADING 响应体部分正在被接收。如果 responseType 属性是“text”或空字符串,responseText 将会在载入的过程中拥有部分响应数据。

4 DONE 请求操作已经完成。这意味着数据传输已经彻底完成或失败。

LICENSED UNDER CC BY-NC-SA 4.0