问题标签 [isomorphic-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 回答
939 浏览

javascript - 如何从 ajax 发布请求中获取响应标头

我想检索服务器发送的响应标头。但我得到了空的对象。我可以在 chrome 开发工具中看到响应标头,但无法从 javascript 中获取它们。

(我正在为 xhr 请求使用 isomorphic-fetch lib。)

这不是重复的 如何在 AJAX 中获取响应标头 我没有使用 jQuery。

0 投票
2 回答
90762 浏览

node.js - 如何使用 fetch 使用 multipart/form-data 标头和 FormData 进行 POST

这是一个运行良好的 CURL 示例:

我正在尝试使用isomorphic-fetch重现此请求。

我试过以下代码:

我使用fs.readFileSync以生成file传递给FormData.

前面的示例返回一个401HTTP 状态代码(未经授权),并带有一条错误消息,指出嵌入在令牌中(通过标头发送)与传递的 fromuserId不匹配。userIdformData

所以我怀疑FormData到达 REST API 的那个没有充分形成。

问题可能与Content-Length标头有关,但我没有找到更好的计算方法(如果我不使用Content-Length标头,我会收到411HTTP 状态代码Content-Length标头丢失)。

可能是由于Content-Length标头中的值不正确而导致失败的情况?

关于为什么失败或如何更好地调试它的任何其他建议?

如果需要进一步的信息来澄清这个问题,请询问。

更新

我已经尝试了表单数据模块,以便Content-Length使用该方法获得正确的值formData.getLengthSync()

但是问题仍然存在(401错误 HTTP 状态代码响应)。

0 投票
0 回答
1515 浏览

javascript - isomorphic-fetch:获取失败

当我打开一个POST请求时,它不能正常工作,我的代码有什么问题?

顺便提一句。我发送了一个POST请求,但服务器收到了一个OPTIONS请求。

并且浏览器报错:405: Method Not Allowed

GET请求工作正常

客户:

服务器:

谢谢!

0 投票
1 回答
2253 浏览

javascript - 具有同构提取的基本身份验证

我想做一个使用同构获取传递一些凭据的发布请求。这是我现在拥有的代码:

此代码不起作用,因为它重定向到登录页面。关于如何使这项工作的任何想法?

0 投票
3 回答
6378 浏览

javascript - 打字稿 - 找不到名称“获取”(通用库)

我的目标是构建一个带有 AJAX 调用的Typescript库(通过使用fetch API),客户端(Webpack/Browserify)后端开发人员(Node)都可以使用它。

但是,我似乎无法在fetch没有错误的情况下编译。


我的第一次尝试是使用isomorphic-fetchand @types/isomorphic-fetch。我不确定这些类型是否完整,但它们没有带来任何全局变量(它们应该带来 fetch,不是吗?)

索引.ts

tsconfig.json

输出:

我需要“ dom”吗?显然,使用domlib 它确实可以编译并在这两个 ✓ 上运行,但我无法控制它是否真的可以在 Node.js 上运行。我的意思是,无论 I 与否它都会编译import 'isomorphic-fetch',但如果我错过它,它将在 Node 上失败,恕不另行通知。

此外,Node 不是“ dom”,不管我是否也想支持浏览器。


我的第二次尝试是使用whatwg-fetch.

tsconfig.json

这个甚至没有通过编译阶段(不管“ dom”库):

带“ dom”:


我也尝试过使用其他类似的库,例如fetch-ponyfill,但这个库甚至没有可用于 TypeScript 的类型。


我们应该如何调用fetch通用应用程序(浏览器 + 节点)?

谢谢!

0 投票
1 回答
481 浏览

reactjs - 没有从同构取回数据(React/Phoenix)

我有一个create-react-apponlocalhost:3000和一个 phoenix 1.3 服务器:4000。我正在尝试在两者之间设置 JWT 身份验证。

当我curl的服务器工作正常。

React 端看起来像这样:

当我fetch拨打电话时,服务器控制台输出就好像curl请求成功进入一样。.then()但是,我在 fetch 的第一个子句中放置的任何函数似乎都没有发生任何事情。我没有看到警报或console.log(response).

最初我认为这是一个 CORS 问题,但我在 phoenix 中安装了 cors_plug 并在服务器上看到了所需的行为。我还在Chrome 上安装了Allow-Control-Allow-Origin 插件。

关于同构提取,我有什么遗漏吗?(或者,是否有更“反应”的方式来做到这一点?)

0 投票
2 回答
1164 浏览

reactjs - 如何在 Redux 的 action creators 中处理 Fetch 失败

Redux 文档建议每个 AJAX 请求有 3 个不同的操作。例如,对于登录,它们将是:

  • LOGIN_REUQEST
  • LOGIN_FAILURE
  • LOGIN_SUCCESS

但是我无法捕获所有可能引发的错误fetch。在 redux 文档中,我找到了这个例子:

}

但我发现其中有几个问题:

  1. 它不使用catch,所以它不会在用户端捕获任何AJAX请求问题(例如没有互联网)
  2. 它不处理状态为 != 200 的响应。

我结束了这段代码,但它仍然无法处理案例 #1(因为 React 问题 - 请参阅上面代码中的注释):

您能否给我任何使用 fetch 处理 AJAX 请求的所有可能错误的示例。许多教程和开源项目只是忽略它。

0 投票
0 回答
513 浏览

javascript - 用 jest 反应原生测试,如何使 isomorphic-fetch 发送 cookie

我正在构建一个反应原生应用程序,该应用程序使用用户帐户连接到论坛并从那里获取一些数据。我正在尝试fetch在我的测试中使用 cookie jest,但看起来不起作用。

isomorphic-fetch曾经fetch在我的测试环境中可用。

我的代码是这样的:

jest.setup.js

main.js

看起来由于某种原因没有发送任何 cookie,它在第一个请求时按预期登录,但第二个请求没有登录。我怎样才能让它工作?

顺便说一句,如果我更改credentials: includecredentials: same-origin,它也不起作用。

0 投票
1 回答
489 浏览

javascript - 将 fetch 与 Identity Server 4 一起使用

使用资源所有者密码流时,如何使用 fetch 和 IdentityServer4 来获取 JWT 令牌?(大多数时候不推荐)。

即使我应该使用隐式流程,我也想使用这个流程,因为它在我的 spa 应用程序的情况下更方便。首先,您会在这里找到有用的信息来实施您的解决方案:

但是如何使用 [fetch-api] 从 IdentityServer 4 获取令牌?

我应该收到一个 JWT 令牌作为响应,但我收到一个 http 500 错误。“内部服务器错误”

如果我用 fiddler 跟踪 HTTP 标头,我会得到以下结果:

0 投票
0 回答
218 浏览

javascript - fetch 没有使用正确的参数执行 - React Native

所以我有一个 React Native 应用程序,通过 fetch() 本机 API 调用我自己的外部 api。我遇到了一个奇怪的问题,我的请求仅在一个上下文中没有被 fetch() 正确处理。

调用应该POST 到/api/token_login.

以下是我在应用程序中拨打电话的方式:

在某些条件下,该函数在 componentDidMount 上被调用,这是预期的行为。但是,每天左右它突然停止向传入路径发送请求,而是向 /api/login 发送一个 GET 请求。更改传递给函数的路径会将行为更改回预期的行为(即,传入flurgl发送一个 POST 请求到.../api/flurgl正确传入的主体。这是一些调试信息: