Javascript 从角度2的可观测数据中提取数据
我在理解如何正确使用角度2中的可观测值时遇到了一些困难。我使用以下查询:Javascript 从角度2的可观测数据中提取数据,javascript,angular,Javascript,Angular,我在理解如何正确使用角度2中的可观测值时遇到了一些困难。我使用以下查询: let headers = new Headers({ 'Content-Type': 'application/json' }); let options = new RequestOptions({ headers: headers }); return this.http.get('http://localhost:3000/admin/is-admin.json', options) .map(res =>
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.get('http://localhost:3000/admin/is-admin.json', options)
.map(res => res)
.catch(this.handleError); }
API调用返回布尔值true或undefined,但不知何故,我无法从函数返回该值。现在它返回一个对象,我希望它直接返回布尔值。当我将地图线更改为:
.map(res => JSON.parse(res))
如果我将JSON解析错误更改为:
.map(res => res.data)
我得到一个错误,响应对象上不存在数据。有人知道我该怎么做吗?答案可能非常基本,但我已经寻找了很长一段时间了…通过获取响应负载的文本值,我将使用以下方法:
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.get('http://localhost:3000/admin/is-admin.json', options)
.map(res => { // <-----
let responsePayload = res.text();
return (responsePayload != null) ? Boolean(res.text()) : responsePayload;
}))
.catch(this.handleError);
通过获取响应负载的文本值,我将使用以下内容:
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.get('http://localhost:3000/admin/is-admin.json', options)
.map(res => { // <-----
let responsePayload = res.text();
return (responsePayload != null) ? Boolean(res.text()) : responsePayload;
}))
.catch(this.handleError);
你需要订阅可观察的
getData() {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.get('http://localhost:3000/admin/is-admin.json', options)
.map(res => res.json)
.catch(this.handleError);
}
otherFunc() {
this.getData().subscribe(val => this.data = val);
}
或
{{data}json}
构造函数(){
this.data=getData();
}您需要订阅可观察的
getData() {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.get('http://localhost:3000/admin/is-admin.json', options)
.map(res => res.json)
.catch(this.handleError);
}
otherFunc() {
this.getData().subscribe(val => this.data = val);
}
或
{{data}json}
构造函数(){
this.data=getData();
}试试.map(res=>res.json())
试试.map(res=>res.json())