问题标签 [fetch-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1837 浏览

javascript - 你如何链接 HTML5 fetch()?

我正在使用 HTML5 API 进行一系列文件上传,我想连续运行一组 Promise,并且仅在上传所有文件后才执行最终 PUT。

目前,这就是我所拥有的:

理想情况下,obj.attachments将转换为 Promise 的集合,并且可以附加最终的 fetch 并且它们都将连续运行。

0 投票
2 回答
7229 浏览

javascript - 如何检测由新提取标准发起的请求?一般来说,我应该如何检测 AJAX 请求?

在服务器上,知道传入请求是 AJAX 会很有用。

大多数 js 库都使用XMLHttpRequest并提供HTTP_X_REQUESTED_WITH: XMLHttpRequest,但是 Chrome 的实现和Github 的新polyfill 都没有fetch使用类似的标头。那么如何检测到请求是 AJAX 呢?

为什么识别其发起者的请求没有通过fetch和的标准强制执行XMLHttpRequest?是否应该使用其他东西进行决策(例如,客户提供他们期望的响应内容类型)?

0 投票
1 回答
460 浏览

reactjs - 在 Redux-Thunk 中使用 fetch-api 奇怪地刷新了标头

嗨,我刚刚遇到一个我不完全理解的问题。

我的 API 在每次请求时都会向我的客户提供一个新的 Auth-Token,以便在下一个请求时使用并再次获得一个新的。但是有一点点扭曲:在短时间内(几秒钟内)发送的请求将被视为批处理,并且所有这些请求可以并且必须使用相同的 Token,因为 API 不会为这些请求提供新的 Token .

奇怪的是所有批处理请求响应都不包含新令牌,但我的客户端应用程序仍然以某种方式管理以使用旧令牌和过期令牌刷新它的状态......

这就是我所做的:在每个成功的请求中,我都会发送一个“REFRESH-TOKEN”操作,该操作从响应标头中获取新信息,如下所示:

response来自 fetch-api,在我看来,当标头不存在时,它会给我过期的响应。

非常感谢谁能向我解释发生了什么。现在我不满意的解决方案是关闭批处理请求功能。

0 投票
2 回答
6327 浏览

javascript - 使用 fetch 和 ES6 承诺处理自定义错误的最简洁方法

我正在尝试使用 fetch 和 ES6 承诺智能地处理来自我们 API 的成功/错误响应。

以下是我需要如何处理响应状态:

所以,我正在努力如何干净地写这个。

我现在有一些不太出色的代码工作,如下所示:

但是两次使用 catch 似乎很奇怪,我还不知道如何处理那个 204 。

另外,只是为了澄清checkStatuscheckErrorStatus做类似的事情:

有什么清理这个的建议吗?

0 投票
2 回答
305 浏览

javascript - 获取资源,计算哈希,返回承诺

我想在浏览器扩展中使用Fetch API来下载资源并计算其哈希值。以下作品(通过Browserify使用加密

但有一个缺点,我必须等待,a.onloadend而我想嵌入它的上下文需要Promise返回。此外,首先获取整个 blob,然后将其读入 aFileReader以便之后将其转储,这似乎很奇怪createHash

有什么提示吗?

0 投票
1 回答
1133 浏览

javascript - ServiceWorker:没有用于 javascript 触发请求的 FetchEvent?

我正在使用 Chrome 稳定版 46。

我有一个非常基本的网站。一个 button.onclickfetch('a')和一个<a>打开的标签b。两个 url都不存在,我打算在服务人员中捕获它们并返回a一个.bnew Response()

如果我单击 fetches 的按钮,a则不涉及服务人员,我会收到 404 错误。
但是,如果我单击指向 的链接,b服务人员会获取并返回响应。

问题:为什么服务人员没有收到fetch('a')请求的任何 FetchEvent?

请参阅下面的文件

HTML

js.js

sw.js

0 投票
1 回答
3236 浏览

javascript - 使用 fetch 时拒绝承诺

我对如何正确使用 fetch 有点困惑。即使我得到错误状态,它似乎也能解决。下面的代码是否正确(将 fetch 包装在另一个承诺中)?

(上面的代码应该通过控制台在 chrome 中运行良好......只需复制/粘贴)

0 投票
2 回答
8152 浏览

validation - 使用 redux-form 和 Fetch API 进行服务器验证

如何使用redux-form和 Fetch API 进行服务器端验证?文档中提供了“提交验证”演示,其中说推荐的服务器端验证方法是从 onSubmit 函数返回一个承诺。但是我应该把这个承诺放在哪里呢?据我了解 onSubmit 功能应该是我的行动。

this.props.addWidget 实际上是我的操作,如下所示。

如您所见,我使用 fetch API。我预计 fetch 会返回承诺,redux-form 会抓住它,但这不起作用。如何使其与示例中的承诺一起工作?

同样从演示中我无法理解 this.props.handleSubmit 函数中应该提供什么。Demo不解释这部分,至于我。

0 投票
1 回答
27 浏览

javascript - 使用 Html5 fetch 和 FormData 时无法构造正确的数据格式

我只是尝试使用 fetch 向服务发送帖子,但表单数据格式错误,我该怎么办?图为我的详细问题

在此处输入图像描述

只有你能救我,谢谢!

0 投票
3 回答
2383 浏览

javascript - 为什么 fetch 返回一个奇怪的整数散列?

我正在使用fetch带有 React Native 的 API。

如果状态 >= 400,我的响应遵循正常格式{"message": "error here"},我将在本机弹出窗口中显示。

response.json()在检测到故障后试图打电话,但它总是把所有东西都放在一个奇怪的格式......

{ _45: 0, _81: 0, _65: null, _54: null }

无论出于何种原因......我想要的实际响应位于_65......我不知道这些随机键是什么。

所以目前我不得不通过 访问它_bodyText,但我认为这是错误的,因为它是一个私有的下划线方法。

我究竟做错了什么?