【问题标题】:What can you do with XMLHttpRequest and cannot with Fetch API?你可以用 XMLHttpRequest 做什么而不能用 Fetch API 做什么?
【发布时间】:2020-07-09 09:37:41
【问题描述】:

我知道到 2020 年,Fetch API 可以被认为是几乎所有使用 XMLHttpRequest 完成的现代替代品。 但我想知道此时是否还有一些事情只能用 XMLHttpRequest 来完成。 XMLHttpRequest 可以完全丢弃吗?

【问题讨论】:

    标签: javascript xmlhttprequest fetch


    【解决方案1】:

    我可以想象几个原因,为什么你可以使用XMLHttpRequest

    首先,你不想使用polyfills,但需要支持旧浏览器:https://caniuse.com/#search=fetch

    其次,您需要来自 XMLHttpRequest 的特定内容,这是 fetch 无法做到的,例如 upload https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/upload 来跟踪上传进度。

    在其他情况下,请使用fetch

    【讨论】:

    • 支持非常好。 Opera Mini 几乎不支持任何现代的东西,所以毫无疑问,所有版本的 Internet Explorer 仍然拥有 1.7% 的市场份额,但已从主要网站的支持中删除,我认为这个数字会下降。所有其他人将在 2% 左右,但即使是今年,支持也会增加。所以我不会使用 pollyfills。至于上传追踪,我觉得可以在服务器端做点什么。
    • 无论如何,如果 2 天内别人找不到更重要的东西,我会接受你的回答。
    • 好点!我只想提一下,即使 IE 的使用率普遍较低,但对于一些对安全敏感的组织(例如银行)来说,IE 可能会占有更大的份额。这就是为什么某些网络应用可能需要支持 IE。
    【解决方案2】:

    jQuery 依赖于 XMLHttpRequest(即使最新版本的 jQuery 不再依赖,一些以前的版本也依赖)。放弃对它的支持将导致所有使用 jQuery 的代码库中断,因此无法放弃任何支持。

    【讨论】:

    • 几年前我放弃了 jQuery。
    • 对你有好处,伙计。
    • 其他 50,000 个仍然依赖它的网站呢?
    • 我不否认 jQuery 的重要性,长期以来它一直非常有用,但对于一个新项目来说,它没有任何意义。问题的背景是指我们在 2020 年如何构建项目。
    • 是的,你错了。问题的背景不同
    猜你喜欢
    • 2012-11-17
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 2011-08-23
    • 2023-03-13
    • 1970-01-01
    • 2013-03-11
    • 2018-05-30
    相关资源
    最近更新 更多