我正在处理这个angular2应用程序,我正在做CRUD操作。
我有超文本传输协议让得到
我现在想执行put
操作,但找不到任何相关的内容。
任何投入?
谢谢。
如果您已经熟悉POST
,那么
POST和PUT请求之间的唯一区别是字面上的UT
而不是OST
,它只是一个动词
,至少对于前端来说。
Angular Docs(必须让它变得复杂)
// Update existing Hero
private put(hero: Hero) {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
let url = `${this.heroesUrl}/${hero.id}`;
return this.http
.put(url, JSON.stringify(hero), {headers: headers})
.map(res => res.json());
}
请记住-可观察对象可能是惰性的(例如:Angular的Http
请求),因此您需要订阅它们以使请求执行,即使您不想处理响应。-@user2171669
//For .map(res => res.json());
//solution is below..
private updateProduct(product: IProduct, options: RequestOptions): Observable {
const url = `${this.baseUrl}/${product.id}`;
let headers = new Headers();
headers.append('Content-Type', 'application/json')
return this._http.put(url, JSON.stringify(product), {headers: headers})
.map(() => product)
.do(data => console.log('updateProduct: ' + JSON.parse(JSON.stringify(data || null)) ))
.catch(this.handleError);
}
//But I am unable to update any record....