AJAX使用

2 篇文章 0 订阅

AJAX使用


现在浏览器上写AJAX主要依靠 XMLHttpRequest对象,低版本的IE,需要依靠 ActiveXObject对象
实现如下:

function success(text) {
    // ...
}

function fail(code) {
    // ...
}

let request;

if (window.XMLHttpRequest) {
    // 新建XMLHttpRequest对象
    request = new XMLHttpRequest();
} else {
    // 兼容低版本的IE
    request = new ActiveXObject('Microsoft.XMLHTTP');
}

console.log(request.readyState); // 0

/* request对象的open方法有3个参数:
 *      1.GET/POST/PUT/DELETE  
 *      2.URL  
 *      3.是否使用异步,默认是true 
 * 注意:不建议将第三个参数设置为false,否则浏览器将停止响应(处于假死状态),直到AJAX请求完成
 */
request.open('GET', '/api/categories');

console.log(request.readyState); // 1

//发送请求
request.send();

// 状态发生变化时,函数被回调
request.onreadystatechange = function () {
    // 请求完成
    if (request.readyState === 4) {
        // 请求成功
        if (request.status === 200) {
            // 通过responseText拿到响应的文本
            return success(request.responseText);           
        } else {
            // 请求失败,将响应码传递给fail函数进行分类处理
            return fail(request.status)
        }
    } else {
        //请求未完成...
    }
}

request.readyState状态备注:

0 – 对象创建完成

1 – 服务器连接已建立

2 – 请求已接收

3 – 请求处理中

4 – 请求已完成,且响应已就绪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值