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

How to pass form field values in the body while making a http post service call

正在处理 Angular http post 服务调用,并从 java 服务获得 api,要从该服务获得响应,我必须通过data/request 参数到 url,我通过给一个名为 body 的 var 然后用 url

传递它来做

我正在使用 angular 响应式表单,我想从这里的表单字段将请求参数发送到正文 就像当用户填写他提交的表格时,这是一个请求,他从这些字段计算后得到一定的数据作为响应

这是我传递硬编码值的服务调用,但在这里我如何将 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)
    );
}

当我传递硬编码值时,我得到了响应,但我如何才能让它动态地从反应式表单字段加载。

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

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)
    );
}