当前位置:   article > 正文

前端如何获取数据,从 ajax 到 websocket_websocket前端获取不同对象

websocket前端获取不同对象

在这里插入图片描述

ajax 是什么

可以在不重新加载整个网页的情况下,对网页的某部分进行更新。(重新拍照理解为重新加载网页)

直白地说,就是没用AJAX的网页,你点一个按钮就要刷新一下页面,尽管新页面上只有一行字和当前页面不一样,但你还是要无聊地等待页面刷新。用了AJAX之后,你点击,然后页面上的一行字就变化了,页面本身不用刷。

AJAX只是一种技术,不是某种具体的东西。不同的浏览器有自己实现AJAX的组件。

手写 ajax
  1. 创建 ajax 对象
  2. 等待数据响应
  3. 调用 open
  4. 调用 send
let xhr = null
try {
  xhr = new XMLHttpRequest()
} catch (error) {
  xhr = new ActiveXObject('error')
}
//必须在调用open()方法之前指定onreadystatechange事件处理程序才能确保跨域浏览器兼容性问题
//只要readyState属性的值有变化,就会触发readystatechange事件
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4) {
    //判断本次下载的状态码都是多少 304表示请求的资源没有被修改
    if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) {
      alert(xhr.responseText)
    } else {
      alert('Error' + xhr.status)
    }
  }
}

xhr.open('get', 'https://api.github.com/repos/vmg/redcarpet/issues?state=closed', true)
xhr.send()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

这样写似乎也可以,但是总觉得少点什么?

啥,又要我封装,我能拒绝吗?可以

这答案出乎我意料啊 本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】

推荐阅读
相关标签