JS手写 AJAX

AJAX:async(异步) JavaScript and XML(JSON)
简单一句话AJAX就是用JS发送请求和收响应

AJAX是浏览器上的功能:

  • 浏览器可以发请求,收响应
  • 浏览器在window上加了一个XMLHttpRequest函数
  • 用这个构造函数(类)可以构造出一个对象,window.XMLHttpRequest是用来创建XMLRequest对象的
  • JS通过它实现发请求,收响应

一共四行
1、创建对象
2、设置请求方式和路径
3、发送消息体
4、监听onreadystatechange事件,在readyState为4且状态码为200和300之间(包含200)或304时调用成功回调否则调用失败回调。

var xhr = new XMLHttpRequest()
//第一个参数请求方法,第二个请求路径,第三个同步还是异步(AJAX只用异步的),默认异步即可。
xhr.open('GET','/xxx',)
//成功之后要有一个回调
//但是一般他们想让你写这个函数,准备状态变化
xhr.onreadystatechange = function(){
   if(xhr.readyState === 4){ //1234各有不同的涵义 之前笔记有 mdn readyState也可
    if(request.status>=200 && request.status<300||request.status === 304){//304表示内容没有更改
      success(xhr) //success是你定义好的回调
    }  else{
      fail(xhr)  
    }
  }
}
//请求体(GET 请求体空的(就算你写了也不会发送) POST 传一个JSON数据)
xhr.send('{"name":"frank"}')

https://www.jianshu.com/p/e4833acaef0b

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容