我最近开始使用Angular,一直在使用angular 6,并尝试将服务的http.put方法调用到我的组件之一中。没有错误,但没有更新。
shared.service.ts:
`putTaskDetail(task: Task): Observable<Task> {
const httpOptions = {headers: new HttpHeaders({ 'Content-
Type':'application/json'}) };
let constUrl = `${this.rootURL}`+'/UpdateTask';
return this.http.put<Task>(constUrl, task, httpOptions);
}`
edit.component.ts:
`this.service.putTaskDetail(form.value).subscribe(
() => {
this.toastr.success('Updated successfully.','Task Manager');
this.resetForm();
},
(err: HttpErrorResponse) => {
console.log(err.message + " " + err.name);
}
)`
请提示,代码中可能有什么错误。
答案 0 :(得分:0)
您应该发布form.value
,以便其他人可以帮助您进行调试。您还可以尝试更改创建http
选项对象的方式,如下所示:
private createHttpOptions() {
const headersMap = {
'Content-Type': 'application/json',
}
return {
headers: new HttpHeaders(headersMap)
};
}
然后在您的put
中传递createHttpOptions
:
return this.http.put<T>(url, data, this.createHttpOptions());
注意:如果要发送文件,则不需要发送headersMap
。