如何在进行http post服务调用时在正文中传递表单字段值

时间:2019-02-20 07:07:37

标签: angular6 angular-reactive-forms angular-httpclient

处理Angular http post服务调用,并从Java服务获取api,以从该服务获取响应,我将必须将数据/请求参数传递给url,这是通过给定名为var的var来完成的。然后使用url传递

我正在使用角反应形式,并且我想从此处的形式字段将请求参数发送到正文 就像用户填写他提交的表单一样,这是一个请求,他在计算后从这些字段中获得了一定的数据作为响应

这是我的服务呼叫,我在其中传递硬编码值,但是在这里我如何将formcontrolname值传递给主体?

    getPoll(): Observable<PollData[]> {
  const headers = new HttpHeaders({ 'Content-Type': 'application/json'});

  let body = '{"auth": { "accesskey": "", "signature": "" }, "data": { "v_age": 0, "v_rto_name": "Delhi East: Anand Vihar", "aa_status": false, "tax_type":"IGST","debug_flag":false }}';
  return this.http
  .post<PollData[]>(this.apiUrl + this.premiumUrl, body, { headers: headers })
    .pipe(
      tap(data => console.log('getPoll: ' + JSON.stringify(data))),
      catchError(this.handleError)
    );
}

当我传递硬编码的值时,我会得到响应,但是如何使其动态地从反应式表单字段中加载。

1 个答案:

答案 0 :(得分:0)

您可以将表单值作为参数传递给组件服务调用。

submitForm() {
 this.yourService.getPoll(this.yourForm.value).subscribe(...);
}

在getPoll函数和

中获取参数
getPoll(yourFormValues): Observable<PollData[]> {
  const headers = new HttpHeaders({ 'Content-Type': 'application/json'});

  let body = '{"auth": { "accesskey": "", "signature": "" }, "data": { "v_age": yourFormValues.v_age, "v_rto_name": yourFormValues.v_rto_name, "aa_status": yourFormValues.aa_status, "tax_type":yourFormValues.tax_type,"debug_flag":false }}';
  return this.http
  .post<PollData[]>(this.apiUrl + this.premiumUrl, body, { headers: headers })
    .pipe(
      tap(data => console.log('getPoll: ' + JSON.stringify(data))),
      catchError(this.handleError)
    );
}