如何使用http在angular2中创建请求?
我正在研究这个angular2应用程序,我正在做CRUD操作。如何使用http在angular2中创建请求?
我有http制作get
& post
请求。
我想立即执行put
操作,但找不到任何相关的内容。
任何输入?
谢谢。
如果你已经熟悉了POST
,然后
POST之间唯一的区别和PUT请求字面上UT
而不是OST
, 它只是一个verb
,对于前端ATLEAST。
Angular Docs (have to make it complicated)
// 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());
}
记住 - 观测量可以偷懒(如:角的Http
要求),所以你需要订阅它们赚的要求执行,即使你不想来处理回应。 - @ user2171669
这工作正常,但res.json不工作我 –
你需要从你的服务返回JSON字符串,使'res.json()'工作,如果没有返回任何东西,那么你不需要'.map(res => res.json());' –
@Ankit Singh Observables是懒惰的,所以你需要订阅它们来使请求执行,即使你不想处理响应。 – 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....
this.http.put()?不起作用? – Ajey
它的工作原理,但我想知道这样做的语法和参数? –
它具有与POST完全相同的语法https://github.com/angular/angular/blob/master/modules/%40angular/http/src/http.ts –