ajax和fetch、aixos的区别

  ajax与fetch的区别?  

  1、ajax是使用XMLHttpRequest对象发起的,但是用起来很麻烦,所以ES6新规范就有了fetch,fetch发一个请求不用像ajax那样写一大堆代码。

  2、使用fetch无法取消一个请求,这是因为fetch基于Promise,而Promise无法做到这一点。

  3、在默认情况下,fetch不会接受或者发送cookies

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

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

  6、fetch由于是ES6规范,兼容性上比不上XMLHttpRequest

 ajax与axios的区别及优缺点?

        区别:

axios是通过Promise实现对ajax技术的一种封装,简单来说就是ajax技术实现了局部数据的刷新,axios实现了对ajax的封装,axios有的ajax都有,ajax有的axios不一定有。

总结一句话就是axios是ajax,ajax不止axios

  优缺点:

  ajax:

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

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

3、ajax不支持浏览器的back按钮

4、安全问题ajax暴露了与服务器交互的细节

5、对搜索引擎的支持比较弱

6、破坏程序的异常机制

7、不容易调试

axios:

1、从node.js创建http请求

2、支持Promise API

3、客户端防止CSRF(网站恶意利用)

4、提供了一些并发请求的接口

 

原文地址:https://www.cnblogs.com/LcxWeb/p/14143475.html