码迷,mamicode.com
首页 > 移动开发 > 详细

axios/fetch和ajax的区别

时间:2020-03-21 21:24:04      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:现在   开发   防止   wait   nod   规范   结构   async   基于   

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规范里新的实现方式。
        + 用起来不是太舒服

axios/fetch和ajax的区别

标签:现在   开发   防止   wait   nod   规范   结构   async   基于   

原文地址:https://www.cnblogs.com/lxz123/p/12541865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!