我有一张表格。当用户没有任何信息时,他输入一些信息并发送POST请求以保存他的数据。当用户有关于他自己的信息时,该页面显示他的信息,表单提交应发送PUT请求以更新数据。
如何实现?
答案 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。