提问者:小点点

如何在angular2使用超文本传输协议把请求?


我正在处理这个angular2应用程序,我正在做CRUD操作。

我有超文本传输协议让得到

我现在想执行put操作,但找不到任何相关的内容。

任何投入?

谢谢。


共2个答案

匿名用户

如果您已经熟悉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....