ajax总结

2018-02-24  本文已影响7人  马建阳

实现一个ajax:

var xhr = new XMLHttpRequest()
xhr.open('GET', 'http://api.fdsfas.com/weather.php', true)
xhr.onreadystatechange = function(){
    if(xhr.readyState === 4) {
        if((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){
            //成功了
            console.log(xhr.responseText)
        } else {
            console.log('服务器异常')
            console.error(xhr.statusText);
        }
    }
}
xhr.onerror = function(){
    console.log('服务器异常')
    console.error(xhr.statusText)
}
xhr.send()

readyState

XMLHttpRequest.readyState 属性返回一个 XMLHttpRequest 代理当前所处的状态。一个 XHR 代理总是处于下列状态中的一个:

值 状态 描述
0 未初始化 尚未调用 open() 方法。
1 启动 已经调用open() 方法,但未调用send()方法。
2 发送 已经被调用send() 方法,但未接收到响应。
3 接受 已经接收到部分响应数据。
4 完成 已经接受到全部响应数据,可以再客户端使用。

补充:xhr.abort()取消异步数据

上一篇下一篇

猜你喜欢

热点阅读