update(url: string, data: Object): Promise<Application> {
return this.http
.put(url, JSON.stringify(data), {headers: this.headers})
.toPromise()
.then(() => data)
.catch(this.handleError);
}
将上述功能与有效URL一起使用会导致以下异常:
EXCEPTION: Uncaught (in promise): Response with status: 400 Bad Request for URL: null
我正在使用@angular/http
模块来执行请求。
关于这个问题的奇怪之处在于该模块的其他方法工作正常(GET
,POST
和DELETE
)。
我使用以下标头'Content-Type': 'application/json'
和InMemoryWebApiModule
来模拟回复。
使用硬编码值调用put函数(例如以下示例)会导致相同的异常。
this.http
.put('app/applications/1', JSON.stringify(data), {headers: this.headers})
.toPromise()
.then(() => data)
.catch(this.handleError);
答案 0 :(得分:0)
我最近遇到了同样的问题。原因是我的数据没有名为 id 的字段,它唯一地标识每个项目。模块 @ angular / http 通过其id匹配请求的数据。