美文网首页
封装 jQuery.ajax

封装 jQuery.ajax

作者: 独钓寒江月 | 来源:发表于2019-08-24 19:51 被阅读0次

    封装一个 jQuery.ajax

    window.jQuery.ajax = function(url, method, body, success, fail){
      let request = new XMLHttpRequest()
      request.open(method, url) 
      request.onreadystatechange = ()=>{
        if(request.readyState === 4){
          if(request.status >= 200 && request.status < 300){
            success.call(undefined, request.responseText)
          }else if(request.status >= 400){
            fail.call(undefined, request)
          }
        }
      }
      request.send(body)
    }
    

    升级jQuery.ajax 满足 Promise 规则

    window.jQuery.ajax = function({url, method, body}){
      return new Promise(function(resolve, reject){
        let request = new XMLHttpRequest()
        request.open(method, url) 
        request.onreadystatechange = ()=>{
          if(request.readyState === 4){
            if(request.status >= 200 && request.status < 300){
              resolve.call(undefined, request.responseText)
            }else if(request.status >= 400){
              reject.call(undefined, request)
            }
          }
        }
        request.send(body)
      })
    }
    

    相关文章

      网友评论

          本文标题:封装 jQuery.ajax

          本文链接:https://www.haomeiwen.com/subject/uanqectx.html