手写简易的ajax

本文介绍了一种使用Promise封装AJAX请求的方法,通过这种方式可以更优雅地处理异步操作,包括成功响应和错误处理。文章详细展示了如何创建一个自定义的AJAX函数,该函数接收URL参数,发起GET请求,并在请求完成后返回解析后的JSON数据,同时处理了404错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function ajax(url) {
    const p = new Promise((resolve, reject) => {
        const xhr = new XMLHttpRequest()
        xhr.open('GET', url, true)
        xhr.onreadystatechange = function(){
            if (xhr.readyState === 4) {
                if (xhr.status === 200) {
                    resolve(
                        JSON.parse(xhr.responseText)
                    )
                }else if (xhr.status === 404){
                    reject(new Error('404 not found'))
                }
            }
        }
        xhr.send(null)
    })
    return p
}
const url = '/data/test1.json'
ajax(url)
.then(res => console.log(res))
.catch(err => console.error(err))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值