当前位置: 首页 > 知识库问答 >
问题:

获取API如何在catch中获取响应体?

周兴朝
2023-03-14

我从服务器得到这样的响应:

Request URL:http://api.bfexchange.net/wallet/balance
Request Method:GET
Status Code:504 Gateway Time-out
Remote Address:52.78.140.154:80
Referrer Policy:no-referrer-when-downgrade

但打印fetch API捕获中的err只会返回错误对象。

fetch(...)
.then(...)
.catch((err) => {
    console.dir(err);
});

它打印了这个(来自谷歌浏览器):

TypeError: Failed to fetch
    message: "Failed to fetch"
    stack: "TypeError: Failed to fetch"
    __proto__: Error
index.js:82 

我想得到正确的错误处理状态代码,就像服务器没有响应一样。

在这种情况下,有没有办法获取响应数据?否则,我可以尝试什么替代方案?

任何建议都将不胜感激!

共有1个答案

熊锐进
2023-03-14

如果服务器使用CORS,您将获得5xx响应,但不会作为拒绝;promise将通过响应来解决。如果服务器不使用CORS,您将永远看不到响应,并且promise将始终被拒绝(除非您使用no-cors,在这种情况下,您可以获得不透明的响应,这在某些Service Worker场景中很有用)。

 类似资料:
  • 我正在使用SpringCloudGateway过滤器,需要让响应主体记录它。我知道这是有问题的,因为SpringGateway是建立在SpringReactor上的,但我仍在寻找实现这一点的方法。 有全局过滤器,代码: 在控制台中,我只得到这个输出大约30次,没有输出短语“应用方法”。

  • 问题内容: 有一个页面(URL),我通过XMLHttpRequest请求它,但是我没有从所请求的URL获得响应,而是将请求定向到另一个页面, 请求-> page.php* 从> directedpage.php 获得响应 * 问题是如何获取响应网址?(例如directedpage.php) 问题答案: 最终URL(在所有重定向之后)在实例的属性中可用。此功能是新增功能,仅在2014年9月[参考]稳

  • 我在用放心做API自动化。我想从API响应中获取值并传递给另一个java类, 这是我的测试类, 如何将此方法更改为另一种类型的无效值,或者如何在另一个java类中传递人员引用值

  • 我使用了Web API控制器中的IActionResult和邮递员的加热方法,我的功能正在工作,但没有得到成功响应。我的代码是: Postman中的响应是:无法获得任何响应连接到https://localhost:44303/api/pousada/markasinactive时出错。可能发生这种情况的原因:服务器无法发送响应:确保后端正常工作自签名SSL证书被阻止:通过关闭设置>常规代理配置错误

  • 问题内容: 我在同一个域上有一个请求,我想读取cookie。它不断返回。 有任何想法吗?我为此使用Chrome。 问题答案: 您正在寻找的响应标头: 它不适用于HTTPOnly cookie。 更新资料 根据XMLHttpRequest级别1和XMLHttpRequest级别2,此特定的响应标头属于您可以使用所获得的“禁止”响应标头,因此,该方法可以起作用的唯一原因基本上是一个“顽皮的”浏览器。