JS:如何处理从 API url 返回的 400 Bad Request 错误

2024-02-08

仍然很缺乏经验,我正在尝试错误处理“400 Bad Request”。

我有一个带有搜索栏的网站。
然后,输入到搜索栏中的值将被放入返回对象的 api url 中。
每当输入拼写错误的搜索值时,站点的控制台都会针对 api url 返回“400 错误请求”。
我还从 api url 请求收到下面的错误对象。

{
    "meta": {
        "code": 400,
        "errorType": "failed_geocode",
        "errorDetail": "Couldn't geocode param near: Jljjl",
        "requestId": "59208ac96a6071641949481d"
    },
    "response": {}
}

我想要做的是使用如下的条件语句来处理此错误:

try {
    if (400 Bad Request) throw "incorrect";
} catch (err) {
    document.getElementById('results').innerHTML = "Input is " + err;
}

我已经尝试过像下面这样的条件语句,但似乎我无法访问返回的错误对象中的任何值:

if (object.meta.code === 400)
if (object.meta.code !== 200)
if (object === undefined) // or null or 0

如何将 400 Bad Request 错误放入“if 语句”中,或者是否有其他方法来处理这些错误?
Thanks


Using 获取API https://developer.mozilla.org/en/docs/Web/API/Fetch_API,这可以通过以下方式实现:

fetch(url)
    .then((res) => {
        if (res.status === 400) {
            throw new Error('your error message here');
        }
        return res.json();
    })
    .then(json => {
        // handle response normally here
    })
    .catch(ex => {
        // handle errors here
    });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS:如何处理从 API url 返回的 400 Bad Request 错误 的相关文章

  • 在 ajax 完成之前阻止提交

    我正在使用 jQuery 并且我希望在所有 ajax 调用完成之前表单提交不会起作用 我想到的一种方法是存储一个布尔值 该值指示是否有 ajax 请求正在进行 在每一个结束时它都会被设置为 false 我不确定这是否是最好的方法 所以我将不
  • 在 Web 浏览器中查找触发 then 事件的 jQuery 代码

    我加入了一个团队来从事一个项目 现在他们使用 jQuery 并且很多 javascript 文件都是外部文件而不是嵌入的 当我点击一个按钮时 它看起来就像 a class button cancel Cancel a 它触发一个在一个 ja
  • 使用selenium IDE提取部分文本并将其放入变量中

    有人可以告诉我应该使用哪个命令来使用 Selenium Ide 从文本中仅提取数字 694575 并将其放入变量中以供进一步使用 这是带有文本的 div div class loginBoxTitle Edit Exhibition Cen
  • 如何使用键盘和鼠标控制相机 - Three.js

    我在 WEB GL 中有一个带有 Three js 的 3D 环境 并且我曾经使用 Orbitcontrols js http codepen io nireno pen cAoGI http codepen io nireno pen c
  • ant-d upload中如何为removeFile添加PopConfirm一个图片文件

    我正在使用 Ant d Upload 通过本地系统上传文件 然后单击文件预览图像上的删除图标 图像文件将被删除 我想添加一个弹出确认 所以我尝试在 onRemovefunction 中添加确认作为承诺但它不起作用 它在浏览器中显示警报 on
  • 计算Javascript中两次点击之间的时间

    我想用 javascript 计算属性的两次点击之间的时间 但我不知道如何 例如 a href click here a 如果用户单击多次 假设 5 秒内 我想显示警报 如果有帮助的话我正在使用 jQuery 我对 javascript 不
  • 在浏览器中语音聊天? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们正在寻求建立一个小组 voice 使用服务器上的node js 在浏览器中聊天 这可能吗 如果您希望您的解决方案是基于服务器端和客
  • 未捕获的引用错误:myFunction 未定义[重复]

    这个问题在这里已经有答案了 这到底是怎么回事 http jsfiddle net sVT54 http jsfiddle net sVT54
  • 禁用 JavaScript 中的右键单击

    当我尝试禁用右键单击时 它不起作用 我尝试使用下面的代码 document onclick function e console log e button if e button 2 e preventDefault return fals
  • 使用模态表单 ajax 超出 HTMLFormElement.toString 的最大调用堆栈大小

    我想使用模态窗口中的 ajax 请求提交表单 单击此链接可打开该模式 a class btn btn primary i class fa fa edit i Write a review a 模态窗口 div class modal fa
  • 保存/导出Chrome的JavaScript控制台输入历史记录

    无论如何 我可以保存或导出 JavaScript 控制台的历史记录吗 input 控制台历史记录 在 Google Chrome 中 我不想保存输出或错误 因此将鼠标悬停在控制台框上 右键单击并选择Save as 不是解决方案 我不想每次都
  • 如何使用 jQuery 向表中添加新行,并为其分配递增的 id

    我有一个现有的 HTML 表格 它是用户输入 GPS 点的表单的一部分 用户还可以选择上传 GPS 数据点 我想要一个用户可以按下的按钮 其中一些 Javascript 会向表中添加一个或多个新行 但新行必须继续增加表中使用的名称和 id
  • JavaScript 动画平滑滚动

    默认情况下 当您有这样的片段链接时 a href some url some fragment some text a 浏览器立即向下滚动到该片段 我该如何编程才能使用标准 JS 顺利地向下移动到该片段 这是一个例子 Example htt
  • 用数组反向查找对象

    假设我有一个这样的对象 resourceMap a 0 1 2 3 4 5 6 7 8 9 10 b 11 12 c 21 23 d 54 55 56 57 510 确定是否的最佳方法是什么resourceId 21将会 c 我们不知道钥匙
  • jQuery 选择器:为什么 $("#id").find("p") 比 $("#id p") 更快

    该页面的作者 http 24ways org 2011 your jquery now with less suck http 24ways org 2011 your jquery now with less suck断言 jQuery
  • Flux + React.js - 操作中的回调是好还是坏?

    让我解释一下我最近遇到的问题 我有 React js Flux 驱动的应用程序 有一个列表显示文章数量 注意 应用程序中有多个不同的列表 和文章详情查看在里面 但每个列表只有一个 API 端点 它返回文章数组 为了显示我需要的详细信息fin
  • WebRTC:通道、轨道和流与 RTP SSRC 和 RTP 会话之间的关系

    来自 Mozilla 网站 https developer mozilla org en US docs Web API Media Streams API https developer mozilla org en US docs We
  • ng-model 和值组合不适用于输入文本框

    我有两个输入文本框 我需要组合在两个文本框中输入的值并将其显示在第三个文本框中 如果我只使用value在第三个文本框中 Box 1
  • Django 与谷歌图表

    我试图让谷歌图表显示在我的页面上 但我不知道如何将值从 django 视图传递到 javascript 以便我可以绘制图表 姜戈代码 array Year Sales Expenses 2004 1000 400 2005 1170 460
  • Express.js Passport认证自动失败跳过策略

    UPDATE 我已将代码从护照本地注册内部移至单独的处理程序 并且运行良好 问题在于 Passport 和本地注册的使用 但我不知道为什么 我使用 Node js Express Passport 进行身份验证和注册设置 这是以前使用过的标

随机推荐

  • 是否可以查看 Eclipse 正在执行哪些 shell 命令?

    我正在处理一个相当长的项目 它需要旧的 JDK 才能正确编译 需要各种 JAR 包含等 我正在使用批处理脚本组装整个项目 并且我希望使用该脚本使整个过程完全自动化 所以我想知道是否可以查看 Eclipse 执行的 shell 命令 将一段特
  • 在添加/删除 ENV 变量时,Elastic Beanstalk 导致我的 Rails 6 应用程序预编译资产损坏

    我可以使代码部署没有问题 一切正常 问题是当我使用 Elastic Beanstalk Web 配置表单或 EB CLI 添加 删除 修改 ENV 变量时 Elastic Beanstalk 报告更改已成功完成 但是当我在浏览器中访问 We
  • 对于使用`type()`构造的类型,mypy“作为类型无效”

    mypy 抱怨error Variable packagename Foo is not valid as a type Foo type Foo Bar Optional Foo 可以通过将类型定义为类来修复此错误 class Foo p
  • php var_dump($object) 或 print_r($object) 到日志文件

    这个问题是通用的 我只是想知道如何将对象转储到日志文件 为了澄清事情 我通过一个例子来阐述 我已经成功地使用 magento 观察者在某些事件发生时调用方法 例如 我正在观察何时通过以下方式保存货件
  • Google 脚本和 AWS SDK

    我想通过 GoogleScript 中的代码与 Google Sheet 中的 Amazon Web Services DynamoDB 进行交互 但是 我不知道如何集成AWS SDK 我希望避免编写一个库来通过 AWS HTTP API
  • python中水平方向的物理拉伸图

    我想要一个使用 matplotlib 创建的简单 x y 图 并在 x 方向上进行物理拉伸 目的是获得让我更容易检测信号中的特征的结果 所以我不想改变任何尺度 值或限制 只需更改输出文件中两个网格点之间的距离 我想在四个子图上这样做 之后它
  • 使用 Pandas groupby 连接多行字符串并从逗号分隔的单元格中删除重复项

    我有以下数据并尝试按唯一 id 进行聚合 并且需要在各自列的一个单元格中获取唯一名称 唯一产品 唯一价格 Unique id Name Product Price 101 ABC Ltd A 100 102 JKL Ltd B 200 10
  • Pygame 的基本网络

    我需要为 Pygame 项目做一些基本的网络工作 基本上 它是一款 2D 单人或合作游戏 网络只需要支持两个玩家 其中一个作为主机 唯一需要发送的信息是玩家 小兵和子弹的位置 我一直在阅读并Twisted https en wikipedi
  • 使用指向本地 p2 存储库的 tycho 构建本地 eclipse 插件

    我正在创建一些需要第三方插件和功能的 Eclipse 插件和功能 为了将这些依赖项包含到我的项目中 我创建了一个 p2 布局存储库 注意 我的 p2 工件不是 Maven 项目 但是 我正在使用 Maven 风格构建 这是 p2 存储库的
  • 如何在 Nuxt 中设置 SASS/SCSS/sass-loader

    我有一个 Nuxt 应用程序 我想使用 CSS 预处理器 我安装了sass loader纤维依赖性 但安装后 应用程序控制台中会出现一条消息 我在图像和代码中显示了该消息 这是代码错误 WARN email protected cdn cg
  • 双线性插值 - DirectX 与 GDI+

    我有一个 C 应用程序 我为其编写了 GDI 代码 该代码使用 Bitmap TextureBrush 渲染来呈现 2D 图像 可以应用各种图像处理函数 该代码是应用程序中模仿现有 DX9 代码的新路径 它们共享一个公共库来执行所有向量和矩
  • 开源 SharePoint? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有 SharePoint 的开源替代品吗 我想要提供与 SharePoint 相同的层次结构和基于 p
  • 为类创建通用委托

    假设我有非常简单的课程 class Box
  • 在php中格式化电子邮件?

    to email subject Thank You message p Thanks for applying p from email protected cdn cgi l email protection headers From
  • 尽管设置为超过两分钟,但套接字在两分钟后超时

    下列的这个帖子 https stackoverflow com questions 12406628 java socket read time out exception 我有同样的问题 我设法通过一个简单的测试来重现它 我希望你能帮助我
  • 导入错误:无法导入名称“阶乘”

    我想使用 logit 模型并尝试导入 statsmodels 库 我的版本 Python 3 6 8 我得到的最好建议是降级 scipy 但不清楚如何降级以及应该降级到什么版本 请帮忙如何解决 https github com statsm
  • 在iOS 5中,如何使用AudioSession来确保插入耳机时通过扬声器播放音频?

    void viewDidLoad super viewDidLoad NSString filePath NSBundle mainBundle pathForResource 1 ofType mp3 Convert the file p
  • Genymotion不会停止优化应用程序

    我尝试将 Genymotion 与 Android Studio 结合使用 以便可以测试应用程序 但每当我尝试启动模拟器时 它都会显示 Android 正在启动 正在优化应用程序 of 74 并且它会优化一段时间 最终它停止优化 但随后它只
  • 在 eclipse 中为项目生成 Ant 构建文件

    我有一个使用 eclipse 用 Ja va 编写的项目 我想为其生成一个 Ant 构建文件 如何做呢 我经常需要使其与源代码保持同步 以便在修改项目结构时可以将其与代码一起提升到公共存储库 我很抱歉问这样一个愚蠢的问题 我浏览了各个论坛
  • JS:如何处理从 API url 返回的 400 Bad Request 错误

    仍然很缺乏经验 我正在尝试错误处理 400 Bad Request 我有一个带有搜索栏的网站 然后 输入到搜索栏中的值将被放入返回对象的 api url 中 每当输入拼写错误的搜索值时 站点的控制台都会针对 api url 返回 400 错