Answer the question
In order to leave comments, you need to log in
How to make a GET request from FormArray fields?
Project code: https://stackblitz.com/edit/rest-request-test-2
There is a FormArray:
requestForm = this.fb.group({
method: [null],
baseUrl: [null],
urlParams: new FormArray([
new FormGroup({
name: new FormControl(null),
value: new FormControl(null),
mark: new FormControl(null)
})
]),
headerParams: new FormArray([
new FormGroup({
name: new FormControl(null),
value: new FormControl(null)
})
]),
});
name
and value
pass it to HttpParams or site.com/test?name=value&name2=value22&login=admin
Answer the question
In order to leave comments, you need to log in
Maybe I can help:
onSubmit() {
let urlParamsFromFB = [];
this.requestForm.value.urlParams.forEach(param => { // проходимся циклом по значениях формы
if (param.name && param.value) { // проверяем, что значения не квазиложные
urlParamsFromFB.push( {name: param.name, value: param.value} ); // выбираем только name и value
}
})
let urlParamsForHTTP = new HttpParams(); // создаем объект для query-параметров
urlParamsFromFB.forEach(param => {
urlParamsForHTTP = urlParamsForHTTP.set(param.name, param.value) // сэтаем сохранённые значения из формы
}) // в объект query-параметров.
// Сам объект query-параметров должен перезаписываться по значению
this.http.get('https://jsonplaceholder.typicode.com/users', {params: urlParamsForHTTP}) // делаем get-запрос, передав вторым аргументом
.subscribe(data => console.log(data)); // объект с полем params, равным объекту query-параметров.
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question