选择一个AJAX/HTTP库

使用JavaScript做开发,始终不能绕不过网络这一关。

目前主要的网络使用场景有以下两大块:

  • AJAX (browser)

  • HTTP client (server)

当然,如果正在开发一个isomorphic/universal应用,你可能需要一个能同时应付browser和server端的东西。

不管怎么样,直接使用XMLHttpRequest是非常繁琐麻烦的,一个更简单的库来帮助我们简化编码是十分必要的。

很多人使用jQuery的$.ajax,但如果只为了简化AJAX编码就引入整个jQuery未免有些太浪费了。

首先,让我们来列下都有哪些可用的AJAX/HTTP方法/库。

browsernodepromise单一职责标准规范
XMLHttpRequestOXXOO
Node HTTPXOXOO
fetchOXOOO
node-fetchXOOOO
isomorphic-fetchOOOOO
superagentOOXOX
axiosOOOOX
requestXOXOX
jQueryOXXXX
reqwestOOOOX

从上表的对比,可以看出,时至今天(2016/02/15),如果要选择一个AJAX/HTTP库,符合标准规范的fetch无疑是最好的选择。

当然,fetch也不是十全十美的,目前(2016/02/15)只有chrome/firefox/opera原生支持fetch

另外,因为fetch是基于promise的,如果你的目标运行环境不支持promise,还得引入es6-promise这个polyfill才行。

但是不管怎么样,紧跟标准规范总是不会错的,这些polyfill也总有一天会被移出,我们只是提前享受标准带来的好处而已,不是吗。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值