zoukankan      html  css  js  c++  java
  • axios、ajax、fetch三者的区别

    1.ajax:是指一种创建交互式网页应用的网页开发技术,并且可以做到无需重新加载整个网页的情况下,能够更新部分网页,也叫作局部更新
    优缺点:
    1)局部更新
    2)原生支持,不需要任何插件
    3)原生支持,不需要任何插件
    4)可能破坏浏览器后退功能
    5)嵌套回调,难以处理
    2.axios:是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中
    特点:
    1)从浏览器中创建 XMLHttpRequests
    2)从 node.js 创建 http 请求
    3)支持 Promise API
    4)拦截请求和响应
    5)转换请求数据和响应数据
    6)取消请求
    7)自动转换 JSON 数据
    8)客户端支持防御 XSRF
    3.fetch:使用了ES6中的promise对象。Fetch是基于promise设计的。Fetch函数就是原生js,没有使用XMLHttpRequest对象。
    优缺点:
    1)更加底层,提供的API丰富(request, response)
    2)脱离了XHR,是ES规范里新的实现方式
    3)fetch是一个低层次的API,你可以把它考虑成原生的XHR,所以使用起来并不是那么舒服,需要进行封装
    4)fetch只对网络请求报错,对400,500都当做成功的请求,需要封装去处理
    
    5)fetch默认不会带cookie,需要添加配置项
    
    6)fetch不支持abort,不支持超时控制,使用setTimeout及Promise.reject的实现的超时控制并不能阻止请求过程继续在后台运行,造成了流量的浪费
    
    7)fetch没有办法原生监测请求的进度,而XHR可以
  • 相关阅读:
    JavaScript中get和set访问器的实现
    Vue render 函数和JSX语法的使用
    vue项目将第三方包以cdn的方式引入页面不显示
    今天帮忙HMF这位ui大神(傻)解决的小问题。
    SET
    webpack 折腾
    sass折腾
    gulp折腾
    css3
    js递归函数
  • 原文地址:https://www.cnblogs.com/Leslie-Cheung1584304774/p/10616714.html
Copyright © 2011-2022 走看看