【问题标题】:How to map a response(key value pair) to post request URL in angular?如何将响应(键值对)映射到角度发布请求 URL?
【发布时间】:2020-12-10 23:56:40
【问题描述】:

在 Angular 中我发送了一个 http get 请求,其响应如下:

{ "name1":"id1", "name2":"id2", “名称 3”:“id3” }

现在我已将此响应映射到我的响应式表单的选择字段中,此下拉列表显示了我从上述响应中获得的名称列表。 (例如,name1、name2、name3)

现在的要求是,我必须将此表单提交到应根据我从表单的选择字段中选择的名称动态选择 ID 的 URL。

(例如,如果我选择 name1 并点击提交按钮,则帖子请求应发送到“http://url/id1”)

如何将 get 请求的响应映射到我的 url 以发送 post 请求?请帮忙,提前谢谢!!!

【问题讨论】:

    标签: angular typescript http data-binding string-interpolation


    【解决方案1】:

    您已经使用 name1、name2、... 作为下拉列表中的选项。那么为什么你不使用 id1, id2,... 和选项值一样呢?提交时,您可以获取下拉字段的值并使用它调用 url。

    如果您的问题是其他问题,请更具体地解释它并提供您的一些代码。

    【讨论】:

      【解决方案2】:

      在您的 api 服务中创建 post 方法:

           serverUrl = "http://url/"
          
           sendPostRequest(id: string, body : MappedObject): Observable<any> {
              return this.http.post(this.serverUrl + id,body );
            }

      在您的 component.ts 中:

         postForm!: FormGroup;
        
              constructor(private _apiService: ApiService,private formBuilder: FormBuilder) {}
              
                ngOnInit() {
                this.postForm = this.formBuilder.group({
                  name1: [''],
                  name2: [''],
                });
        
              }
              
              
      ngSubmit() {     
       
      
      this._apiService.sendPostRequest(this.postForm.controls.name1.value,this.postForm.value).subscribe(
                  (res: any) => {
                    console.log('Success');
                  },
                  (error) => {
                    console.log(error);
                  }
                );
              }
            }
            }
      When you click on submit button, call the ngSubmit() method
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-10
        • 2017-10-27
        • 2018-03-07
        • 2019-11-10
        • 1970-01-01
        • 2019-10-10
        相关资源
        最近更新 更多