欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 前端技术 > html >内容正文

html

addeventlistener不支持ajax-凯发k8官方网

发布时间:2024/10/8 html 27 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 addeventlistener不支持ajax_十万个web前端面试题之ajax、axios、fetch的区别 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

来自灵魂的拷问

你知道ajax、axios、fetch的区别吗?

小白回答

ajax用来请求数据的吧,另外axios和fetch是啥?

老鸟回答

ajax

gmail开发人员发现ie里面有个xmlhttprequest对象来请求数据时,可以实现无刷新数据请求,所以使用这个特性,进行网络数据请求,这就是ajax的由来。

ajax不是一个单词,他的全称是asynchronous javascript and xml,就是异步的javascript和xml,它是一套用于创建快速动态网页的技术标准,使用步骤如下:

  • 创建异步xmlhttprequest对象
  • 设置请求参数,包括请求的方法和url等
  • 发送请求
  • 注册事件,事件状态变更会及时响应监听
  • 在监听里面获取并处理返回数据
  • 所以ajax的核心就是xmlhttprequest对象,这是一个非常早的实现方法,也是兼容性最好的,已经成为了浏览器标准,虽然我们现在都使用其它的api规范,但对象名字暂时还是用xml命名

    axios

    axios是一个基于promise的http库,可以用在浏览器和node.js中,它底层还是基于xmlhttprequest对象的,你可以认为它是一个方便的封装库,除了基础请求数据,它还增加了如下功能:

  • 对promiseapi的支持
  • 支持请求拦截和响应、转换请求数据和响应数据、取消请求
  • 可以自动转换json数据
  • 支持防御xsrf
  • fetch

    fetch就不是xmlhttprequest对象了,fetch是原生的js对象,也就是说,它不依赖浏览器,fetch提供了一个理解的请求替换方案,可以提供给其它技术使用。我们主要需要了解下fetch和ajax的本质区别:

  • fetch返回的是promise,所以如果http状态码是404之类的,fetch也是成功返回的,只有在网络连接错误的情况下,才会reject
  • fetch不发送cookies
  • fetch的请求写法会比ajax简单许多,但我想,最主要的问题是,无法区分http状态码了,这个在编程时还是比较常用的,所以我们目前还是使用axios比较多,而很少使用fetch

    与50位技术专家面对面20年技术见证,附赠技术全景图

    总结

    以上是凯发k8官方网为你收集整理的addeventlistener不支持ajax_十万个web前端面试题之ajax、axios、fetch的区别的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

    • 上一篇:
    • 下一篇:
    网站地图