如何在Angular 8中从http客户端传递带有查询对象的数组

Posted

技术标签:

【中文标题】如何在Angular 8中从http客户端传递带有查询对象的数组【英文标题】:How to pass an array with query objects from http client in Angular 8 【发布时间】:2020-11-20 10:11:27 【问题描述】:

我正在使用 angular 8 作为前端框架,使用 mongoDb 作为 nodeJS 的后端。 我想发送一个 http get request form angular,它会为 mongoose 生成一个条件查询,例如

$or:[
   name:jhon,
   name:sam
]

我试过了

let param = new HttpParams();
for (let name of names)
  param = param.append('$or',JSON.stringify('name':name));

但这会产生

$or:[
   'name:jhon',
   'name:sam'
]

并产生错误 $or/$and/$nor 条目需要是完整的对象

那么有没有办法通过http参数在数组中传递对象?

【问题讨论】:

【参考方案1】:

您尝试发送的对象似乎是 JSON 对象。您始终可以在 post 请求中将 json 对象作为有效负载发送。我不会将这种数据作为参数发送。对您来说会更容易处理。

【讨论】:

我实际上正在尝试发出获取请求。如果它是一个发布请求,那么你是对的,我应该将它作为有效负载发送。我正在尝试从 mongodb 中获取 jhon 或 Sam 或任何其他名称。

以上是关于如何在Angular 8中从http客户端传递带有查询对象的数组的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Angular.js 中从 DOM 中添加/删除 createElement

如何使用带有xml的angular+8的soap asmx服务

如何在 Angular 8 中对客户端的 JWT 解码令牌有效负载进行编码?

如何在Angular 8中未调用的组件之间传递数据[重复]

如何将函数从父级传递给深层嵌套的子级并将@input 值用于Angular 8中传递的函数?

如何在 Angular 4 中从 chrome.runtime.sendMessage 获取回调?