如何从同一表格发送PUT / POST请求?

时间:2017-02-28 02:27:09

标签: angular

我有一张表格。当用户没有任何信息时,他输入一些信息并发送POST请求以保存他的数据。当用户有关于他自己的信息时,该页面显示他的信息,表单提交应发送PUT请求以更新数据。

如何实现?

2 个答案:

答案 0 :(得分:2)

让您有个人资料表格:

  profilebuilder() {
     this.profileForm = this.formBuilder.group({
        'email': ['', [Validators.required],
        'firstName': ['', [Validators.required]],
    }

并使用Get方法获取用户数据:

  getprofile() {
    let url = this.global_service.base_path + 'something...';
    this.global_service.GetRequestAuthorised(url)
      .subscribe(res => {
        this.Userinfo = res[0].json.data;
        this.setFormValue();
      },
      err => {
        console.log("data not found");
      },
      () => {

      })
  }

调用setformvalue(),如果有用户数据,它将自动更新您的表单:

    setFormValue() {
       this.profileForm.controls['email'].setValue(this.Userinfo.email);
       this.profileForm.controls['firstName'].setValue(this.Userinfo.firstName);
        }

然后使用PUT请求更新表单:

  saveprofile(formdata) {
    let url = this.global_service.base_path + 'something...';

    this.global_service.PutRequest(url, formdata)
      .subscribe(res => {
        if (res[0].status == 200) {
          this.getprofile();
        }
      },
      err => {
        console.log(err, '  error');
      },
      () => {

      })
  }

答案 1 :(得分:1)

您可以定义一个变量来标记服务器是否包含当前用户的数据。当用户发送信息时,检查变量以确定是使用POST还是PUT。