将多个对象放入 HttpParams

2023-12-19

我在表单控件中有一些类别,我将它们发送到一个字符串数组中,如下所示:

[1,4,6]

这是我的实际代码:

let categoryIds = new Array<String>()
this.selectedCategories.forEach((value: string, key: string) =>
  categoryIds.push(key))

let requestOptions = {
    params: new HttpParams()
        .set('title', this.createNewForm.controls['title'].value)
        .append('content', this.createNewForm.controls['content'].value)
        .append('categoryids', categoryIds.toString()),              
    withCredentials: true
}

但我想将它们作为对象数组发送,使用旧版本的 Angular Http,我能够对对象进行 foreach 并附加每个类别。 但我不知道如何获取每个类别并将每个类别附加到参数中。 我需要这样:

...类别Id=1&类别Id=4&类别Id=6...


您可以使用.append将值附加到参数并为您提供处理值数组时所需的结果。.set用于设置或替换参数的值。所以实际上你应该做类似以下的事情:

let httpParams = new HttpParams()
  .set('title', this.createNewForm.controls['title'].value)
  .set('content', this.createNewForm.controls['content'].value);

categoryIds.forEach(id => {
  httpParams = httpParams.append('categoryId', id);
});

const requestOptions = {
  params: httpParams,
  withCredentials: true
};

这并不明显,但是.append方法不会改变HttpParams调用它的对象,但返回一个新对象。这就是我们重新分配的原因httpParams在上面的例子中。还,.append无需先使用即可调用.set设置参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将多个对象放入 HttpParams 的相关文章

随机推荐

  • 为什么网络字节顺序定义为大端? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Firebase Crashlytics 未在控制台仪表板中快速显示崩溃报告

    我已经在 Firebase Dashboard 上设置了所有这些步骤和捆绑 ID 并多次尝试崩溃 但没有收到任何报告 pod Firebase Core pod Fabric gt 1 7 2 pod Crashlytics gt 3 9
  • Backbone.js 更改 url 而不重新加载页面

    我有一个带有用户页面的网站 该页面上有几个链接 可让您浏览用户的个人资料 我想做到这一点 当点击其中一个链接时 网址会发生变化 但包含用户横幅的页面的前三分之一不会重新加载 我正在使用 Backbone js 我有一种感觉 我正处于这样一种
  • 如何用Java编写可靠的纯聚合(组合)游戏对象?

    所以我刚刚开始用 Java 编写游戏 并且正在编写我的游戏对象 现在我已经读到这里了发展你的层次结构 http cowboyprogramming com 2007 01 05 evolve your heirachy 您应该将游戏构建为组
  • 如何重写子类的 swift 协议函数(例如 UIView 中的 UILabel)

    我正在尝试实现一个扩展函数 该函数应该根据使用它的类的类型而有所不同 这些对象必须是 UIView 或子类 它应该始终使用在指定类型上扩展的函数 但如果它不符合其中任何一个 则应该使用 UIView 方法 作为后备 这是我正在尝试做的事情的
  • 如何在循环中构建动态 AND OR linq 表达式树

    继从previous https stackoverflow com questions 9718805 how to build a dynamic linq expression tree in a loop 9718896 97188
  • 如何在 Spring boot 2 + Webflux + Thymeleaf 中配置 i18n?

    我刚刚开始一个基于 Spring boot 2 Webflux 的新项目 关于spring boot版本升级及替换spring boot starter web with spring boot starter webflux像这样的课程
  • 在运行时动态更新规则。流口水+弹簧靴

    所以目前我正在练习将 Drools 7 13 0 Final 与 Spring boot 1 5 12 RELEASE 一起使用 我用以下类在 Spring boot 中制作了一个示例应用程序 模型 TaxiFare java Data p
  • GC规则:如何判断一个java对象是否适合垃圾回收

    任何人都可以向我指出一组已定义的规则 以找出 Java 对象垃圾收集的资格以及一个简单的示例 对象一旦不再存在就可以进行 GC可达的来自任何线程 如果满足以下任一条件 则可以从另一个对象 A 访问对象 O A 引用了 O 或者 A 具有对
  • 将临时字符数组转换为 D 中的字符串

    我正在学习 D 语言 我很了解 C 我想做一些 Windows 特定的东西 所以我写这个只是为了尝试 API import core sys windows windows import std stdio string name char
  • Cosmos DB:网关无法直接服务跨分区查询

    知道为什么当我使用其余 api 在 Cosmos DB 中执行下面的查询时 我收到以下错误 没有 order by 的相同查询工作正常 我已经设置了标题 x ms documentdb query enablecrosspartition
  • 如何将 pd.concat 与未启动的数据帧一起使用?

    我希望能够在数据帧结果通过一个函数时将它们连接到内存中 并最终得到一个只有结果的全新数据帧 在函数之前没有准备好数据帧的情况下 如何执行此操作 例如 import pandas as pd import numpy as np rand d
  • 当以双精度形式传递浮点值时,双精度

    我对双精度有疑问 当将浮点值传递给双精度时 我会得到一些不同的结果 例如 float f 54 23f double d1 f System out println d1 输出为 54 22999954223633 有人可以解释这种行为背后
  • ASP.NET Web API 2 文件上传

    我想知道如何最好地处理文件上传以及添加到要使用 ASP NET Web API 2 上传的文件而不使用 MVC 组件的附加信息 我用谷歌搜索了网络 我可以告诉你我比我想象的更困惑 附加信息将存储在数据库和磁盘上的文件中 到目前为止 我正在构
  • 在单独的进程中运行 python

    我正在寻找一个快速的 bash 脚本或程序 它允许我在单独的进程中启动 python 脚本 最好的方法是什么 我知道这非常简单 只是好奇是否有首选方法 只需使用与号 即可在后台启动 Python 进程 Python 已经在与 BASH 脚本
  • 如何使用 asp.net http 客户端使用 retry-after 标头来轮询 API

    我对在 net 中使用 http 客户端进行 RESTful 消费不太熟悉 并且在轮询外部 API 时无法理解如何使用 retry after 标头 这是我目前必须调查的 HttpResponseMessage result null va
  • cURL 不会提示我使用 GitHub API 输入密码

    我正在跟进GitHub 的教程 https developer github com guides getting started 关于使用他们的 API 在我的 Git Bash 命令提示符中 我输入以下内容 curl i https a
  • 裁剪后,fabricjs 将裁剪的对象设置为画布的背景

    在我的fabricjs中 我正在制作画布并向其添加图像并将图像设置为背景 然后我将卡瓦斯剪裁到一定的宽度和高度 裁剪画布后 我想要一个新的画布或以裁剪区域作为背景的相同画布 全部覆盖画布的宽度和高度 或者可以使用裁剪区域的高度和宽度制作新画
  • 如何为 Android API 级别 <11 实现 CursorLoader

    我有一个包含许多列表活动 其中 5 6 个 的应用程序 并且所有活动都有来自我自己的 ContentProvider 2 的自定义游标适配器 位于 Sqlite 数据库 2 上 现在的问题是 我想实现 CursorLoader 或类似 类来
  • 将多个对象放入 HttpParams

    我在表单控件中有一些类别 我将它们发送到一个字符串数组中 如下所示 1 4 6 这是我的实际代码 let categoryIds new Array