手写ajax

image

// const xhr = new XMLHttpRequest()
    // //true支持异步
    // xhr.open('get', '/work1/javascript/ajax/ziyuan.json', true)
    // xhr.onreadystatechange = function() {
    //   if(xhr.readyState === 4) {
    //     if(xhr.status === 200) {
    //       console.log(JSON.parse(xhr.responseText))
    //     }
    //   }
    // }
    // xhr.send(null)
    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(xhr.responseText)
            }else if(xhr.status === 404) {
              reject('404 server ')
            }
          }
        }
        xhr.send(null)
      })
      return p
    }
    ajax('/work1/javascript/ajax/ziyuan.json').then( data => {
      console.log(data)
    }).catch( err => {
      cosole.log(err)
    })
posted @   嘿!那个姑娘  阅读(49)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示