【发布时间】:2022-01-17 22:04:54
【问题描述】:
我想要做的是添加多个具有相同名称的参数以使用 Angular 11 请求 URL:
http://example.com/somepath?data=1&data=2&data=3
I've seen this post, but accepted answer is not eligible to me because it is Angular 1.
我试过的是:
private getParams(value: string): HttpParams {
const values = value.split("/");
const httpParams = new HttpParams();
values.forEach((item) => httpParams.set('value', item));
return httpParams;
}
然后我尝试发送它:
public getConfig(view: string): Observable<IFooBar[]> {
const params = this.getParams(view);
return this.http.get<IFooBar[]>(`$somePerson/someMethod`, { params });
}
但是 url 变成了没有参数:
http://localhost:8000/api/somePerson/someMethod
如何发送同名参数?
【问题讨论】:
-
为什么不直接localhost:8000/api/somePerson/someMethod?values=1,2,3,4
-
也许是因为你调用
getParamsView来获取参数,而函数名为getParams?至少,根据您发布的内容。 -
@R.Richards 抱歉,这是错字。我已经更新了答案
-
@Nick 我不知道。像你问的那样发送参数是最佳做法吗?
-
@Learner 如果您只想为单个参数设置多个值,我建议您这样做,并在您的路由处理程序中使用 .split(',') 拆分它们,就是这样,您现在有了一个值数组
标签: javascript angular http-get angular11