zoukankan      html  css  js  c++  java
  • axios/fetch和ajax的区别

    axios/fetch和ajax的区别:
        ajax:
            + ajax本身是针对mvc编程,不符合现在前端mvvm的浪潮
            + 基于原生XHR开发,XHR本身的架构不清晰
            + 不符合关注分离的原则
            + 配置和调用方式非常混乱,而且基于事件的异步模型不友好
        axios:
            + 从浏览器中创建xmlhttprequest
            + 支持promise API
            + 客户端支持防止csrf
            + 提供了一些并发请求的接口(重要)
            + 从node.js中创建http请求
            + 拦截请求和相应
            + 转换请求和响应数据
            + 自动转换json数据
            + 体积小
            防止csrf:让每一个请求都带一个从cookie中拿的key,根据浏览器的同源策略,假冒网站是拿不到你cookie中的key的,这样,后台就可以轻松辨别出这个请求是否是用户在假冒网站上误导输入,从而采取正确的策略。
        fetch:
            是ajax的替代品,实在es6中出现的,使用了promise对象,fetch是基于promise设计的。fetch的代码结构比ajax简单多了,参数有点像jquery ajax,但是fetch不是ajax的进一步封装,而是原生js,没有使用xmlhttprequest。
            + 语法简洁
            + 基于promise实现,支持async和await
            + 同构方便
            + 更加底层
            + 脱离了XHR,是es规范里新的实现方式。
            + 用起来不是太舒服
  • 相关阅读:
    玩4K必备知识:HDMI1.4、2.0、2.0a、2.0b接口参数对比【扫盲贴】
    Gradle配置最佳实践
    Android Studio 中安装 apk 被拆分成多个 slice,如何禁止?
    编译不同平台 设定
    编译找错
    Delphi 中内存映射对于大文件的使用
    linux——nmap端口扫描命令
    Android 使用 adb命令 远程安装apk
    插件编译 版本问题
    2019 opensuse linux Eclipse
  • 原文地址:https://www.cnblogs.com/lxz123/p/12541865.html
Copyright © 2011-2022 走看看