res.json() 不是 HttpClient 中的函数 Angular 2
res.json() is a not a function in HttpClient Angular 2
我之前使用的是 Angular Http
模块,res.json()
方法工作正常。
我最近尝试了 HttpClient
,但 res.json()
似乎不起作用。仅使用 res
就可以有人告诉我 http 客户端发生了什么变化。
return this.client.get('https://swapi.co/api/people/1/')
.map((res:Response) => {
return res.json(); // using maps to filter data returned form the http call this json dosn't work with http client
}).map(data => {
return data; // using maps of maps to filter data returned form the map
}).flatMap((jedi) => this.http.get(jedi['homeworld'])
.map(res => {
return res.json().name; // using flat maps to combine data returned from two observables into one
}).catch((error:any) => Observable.throw(error.json().error || 'Server error')));
由于新的拦截器,我切换到http客户端,欢迎指点谢谢
是的,那是因为默认情况下新的 http 客户端会隐式调用 res.json()
,您不需要自己手动调用。这是来自提交的引述:
JSON is an assumed default and no longer needs to be explicitly parsed
有关详细信息,请参阅 。
由于HttpClient本身添加了res.json(),这意味着它隐式调用了这个函数,因此显式或手动调用它是没有价值的。所以没有必要添加这个功能。希望这有效,thanx...
我之前使用的是 Angular Http
模块,res.json()
方法工作正常。
我最近尝试了 HttpClient
,但 res.json()
似乎不起作用。仅使用 res
就可以有人告诉我 http 客户端发生了什么变化。
return this.client.get('https://swapi.co/api/people/1/')
.map((res:Response) => {
return res.json(); // using maps to filter data returned form the http call this json dosn't work with http client
}).map(data => {
return data; // using maps of maps to filter data returned form the map
}).flatMap((jedi) => this.http.get(jedi['homeworld'])
.map(res => {
return res.json().name; // using flat maps to combine data returned from two observables into one
}).catch((error:any) => Observable.throw(error.json().error || 'Server error')));
由于新的拦截器,我切换到http客户端,欢迎指点谢谢
是的,那是因为默认情况下新的 http 客户端会隐式调用 res.json()
,您不需要自己手动调用。这是来自提交的引述:
JSON is an assumed default and no longer needs to be explicitly parsed
有关详细信息,请参阅
由于HttpClient本身添加了res.json(),这意味着它隐式调用了这个函数,因此显式或手动调用它是没有价值的。所以没有必要添加这个功能。希望这有效,thanx...