ajax axios fetch 三者的优缺点

jQ ajax:

1.本身是针对MVC的编程,不符合现在前端MVVM的浪潮

2.基于原生的XHR开发,XHR本身的架构不清晰,已经有了fetch的替代方案

3.JQuery整个项目太大,单纯使用ajax却要引入整个JQuery非常的不合理(采取个性化打包的方案又不能享受CDN服务)

axios:

  1.从浏览器中创建 XMLHttpRequest

  2.从 node.js 发出 http 请求

  3.支持 Promise API

  4.拦截请求和响应

  5.转换请求和响应数据

  6.取消请求

  7.自动转换JSON数据

  8.客户端支持防止CSRF/XSRF

fetch: 

 1.符合关注分离,没有将输入、输出和用事件来跟踪的状态混杂在一个对象里

2.更加底层,提供的API丰富(request, response)

3.脱离了XHR,是ES规范里新的实现方式

4.

1)fetchtch只对网络请求报错,对400,500都当做成功的请求,需要封装去处理

2)fetch默认不会带cookie,需要添加配置项

3)fetch不支持abort,不支持超时控制,使用setTimeout及Promise.reject的实现的超时控制并不能阻止请求过程继续在后台运行,造成        了量的浪费

4)fetch没有办法原生监测请求的进度,而XHR可以

原文地址:https://www.cnblogs.com/wildccy/p/10605197.html

时间: 2024-07-31 14:45:42

ajax axios fetch 三者的优缺点的相关文章

Jquery ajax, Axios, Fetch区别

1.   Jquery ajax, Axios, Fetch区别之我见 2.   ajax.axios.fetch之间的详细区别以及优缺点 原文地址:https://www.cnblogs.com/kongge/p/10395235.html

$.ajax,axios,fetch三种ajax请求的区别

Ajax是常用的一门与Web服务器通信的技术,目前发送Ajax请求的主要有4种方式: 原生XHR jquery中的$.ajax() axios fetch 至于原生的XHR目前工作中已经很少去手写它了,前些年我们比较常用的是jquery的ajax请求,但是近些年前端发展很快,jquery包装的ajax已经失去了往日的光辉,取而代之的是新出现的axios和fetch,两者都开始抢占“请求”这个前端重要领域.本文结合自己的使用经历总结一下它们之间的一些区别,并给出一些自己的理解. 1.Jquery

axios、ajax、fetch三者的区别

1.ajax:是指一种创建交互式网页应用的网页开发技术,并且可以做到无需重新加载整个网页的情况下,能够更新部分网页,也叫作局部更新 优缺点: 1)局部更新 2)原生支持,不需要任何插件 3)原生支持,不需要任何插件 4)可能破坏浏览器后退功能 5)嵌套回调,难以处理 2.axios:是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 特点: 1)从浏览器中创建 XMLHttpRequests 2)从 node.js 创建 http 请求 3)支持 Promise

axios/fetch和ajax的区别

axios/fetch和ajax的区别: ajax: + ajax本身是针对mvc编程,不符合现在前端mvvm的浪潮 + 基于原生XHR开发,XHR本身的架构不清晰 + 不符合关注分离的原则 + 配置和调用方式非常混乱,而且基于事件的异步模型不友好 axios: + 从浏览器中创建xmlhttprequest + 支持promise API + 客户端支持防止csrf + 提供了一些并发请求的接口(重要) + 从node.js中创建http请求 + 拦截请求和相应 + 转换请求和响应数据 + 自

ajax与fetch的用法

// 传统ajax用法 var xhr = new XMLHttpRequest(); xhr.responseType = 'json'; xhr.timeout = 2000; console.log(xhr.readyState);//0 xhr.open('GET', url); console.log(xhr.readyState);//1 xhr.onloadstart = function (e) { xhr.abort(); console.log(e); }; xhr.onpr

react——获取数据的4种方法ajax()、$.ajax()、fetch()、axios

第一种:ajax() import React from 'react'; import ReactDom from 'react-dom'; import ajax from './tool.js'; class Nav extends React.Component{ constructor(){ super(); this.state = { arr: {} }; this.get = this.get.bind(this); } get(){ ajax('./data/data.json

前端随心记---------Axios/fetch/ajax的区别

一.jQuery  ajax $.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: function () {}, error: function () {} }); 传统 Ajax 指的是 XMLHttpRequest(XHR), 最早出现的发送后端请求技术,隶属于原始js中,核心使用XMLHttpRequest对象,多个请求之间如果有先后关系的话,就会出现回调地狱. JQuery ajax 是对原生

axios和ajax及fetch原理浅析

这三个其实都是用来请求数据的,那他们的区别在哪里呢?其实 axios 和 ajax 都是对XMLHttpRequest这个对象的封装:而fetch则是window下的一个方法,是一个更底层的方法. ajax 其实重点就是首先实例一个XMLHttpRequest对象,用其中的open方法建立连接:send方法传输数据(前端传到后台):然后再利用onreadystatechange 监听readyState的变化,当其为4时,代表请求完成:简单的代码实现如下: const Ajax={ get: f

什么是ajax,ajax原理是什么 ,优缺点是什么

AJAX工作原理及其优缺点 1.什么是AJAX?AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.它使用:使用XHTML+CSS来标准化呈现:使用XML和XSLT进行数据交换及相关操作:使用XMLHttpRequest对象与Web服务器进行异步数据通信: 使用Javascript操作Document Object Model进行动态显示及交互: 使用JavaScript绑定和处理所有数据.