手记

前端开发中可以选择的几种AJAX 方案

在实际开发中,前端操作数据ajax是必备的
一般从以下几个方面考虑使用哪个方案

  • 代码实现
  • 兼容性
  • 优缺点

接下来对有关js的几种ajax 方案在代码实现,兼容性,优缺点等方面做下对比

comparison js 原生 ajax jq ajax superagent fetch API fetch(node) / node-fetch rxjs ajax 备注
实现 js XMLHttpRequest ActiveX js XMLHttpRequest ActiveX js XMLHttpRequest ActiveX 浏览器API 基于node http,https服务 js XMLHttpRequest ActiveX 所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象 老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象
兼容 IE7+、Firefox、Chrome、Safari 以及 Opera,IE5,6 IE7+、Firefox、Chrome、Safari 以及 Opera,IE5,6 IE7+、Firefox、Chrome、Safari 以及 Opera,IE5,6 Fetch 是浏览器提供的原生 AJAX 接口;基于 Promise;不需要依赖第三方库,就可以优雅地使用 AJAX;GitHub - github/fetch: A window.fetch JavaScript polyfill. node server IE7+、Firefox、Chrome、Safari 以及 Opera,IE5,6
建议 封装原生代码代价较大,但开发过程可以深入理解ajax过程,并亲自踩下坑 前端神器,“老夫写代码就用jQuery”,ajax 部分功能很完善 比较喜欢,也一直在用,源码不错的 -- -- 要接受rx整体思想用起来才会更爽
下载量/使用量(只做npm统计) -- jq nmjs 日下载量 40000+ nmjs 日下载量 35000+ -- nmjs 日下载量 200+/40000+ rxjs npmjs 日下载量 30000
优缺点 优点:锻炼基本js 基础;<br>缺点:编码量大 优点:大部分开发者熟悉;缺点:1、接入vue,再使用jq 有些累赘2、适用于客户端 优点:浏览器端,node server 相同 API;缺点:--- 优点:未来网络请求方案,node sever 端现在可以使用 node-fetch 代替;缺点:兼容差,要对ie 等不兼容设备做兼容处理 优点:流的概念,新的思想;缺点:学习成本较高
异步方案 promise promise,Deferred promise, async/await promise promise promise 异常使用promise.catch捕获

  • 实际开发中可根据现有架构及团队构成进行选择
  • 个人比较倾向superagent和rx,目前团队中使用superagent,后续会做个关于superagent使用的手记
5人推荐
随时随地看视频
慕课网APP

热门评论

很实用,就是结构有点不好

查看全部评论