Angular6 转换组形式获取请求查询参数
Angular 6 convert group form to get request query parameters
我有一个问题,我想使用 get 通过 Web API 请求获取一些信息,作为参数,我想要表单中的信息(作为过滤器表单)。
所以请求很简单:
filterEvents() {
this.http
.get(environment.apiUrl + 'events/GetFilteredAxmCardsId', { params: { filter: this.filterFormGroup.value } })
.subscribe(result => {
this.axmCardIds = result.json() as number[];
}, error => console.error(error));
console.log(this.filterFormGroup.value);
}
但是我在传递表单组值时遇到问题 url 看起来像
GetFilteredEvents?filter={"AxmCards":[9,7]}
当然对象可以有更多的属性。
看起来不太好,我可以手动参数,但是它需要大量的工作和维护,那么有没有一种简单的方法来解析这样的对象以获取查询参数?
使用 URL 搜索参数:
import {URLSearchParams} from '@angular/http';
...
let params = new URLSearchParams();
for(let key in this.filterFormGroup.value){
params = params.set(key, this.filterFormGroup.value[key]);
}
this.http
.get(environment.apiUrl + 'events/GetFilteredAxmCardsId', { params })
我有一个问题,我想使用 get 通过 Web API 请求获取一些信息,作为参数,我想要表单中的信息(作为过滤器表单)。
所以请求很简单:
filterEvents() {
this.http
.get(environment.apiUrl + 'events/GetFilteredAxmCardsId', { params: { filter: this.filterFormGroup.value } })
.subscribe(result => {
this.axmCardIds = result.json() as number[];
}, error => console.error(error));
console.log(this.filterFormGroup.value);
}
但是我在传递表单组值时遇到问题 url 看起来像
GetFilteredEvents?filter={"AxmCards":[9,7]}
当然对象可以有更多的属性。
看起来不太好,我可以手动参数,但是它需要大量的工作和维护,那么有没有一种简单的方法来解析这样的对象以获取查询参数?
使用 URL 搜索参数:
import {URLSearchParams} from '@angular/http';
...
let params = new URLSearchParams();
for(let key in this.filterFormGroup.value){
params = params.set(key, this.filterFormGroup.value[key]);
}
this.http
.get(environment.apiUrl + 'events/GetFilteredAxmCardsId', { params })