我有这样的请求:
import {Component, OnInit} from '@angular/core';
import { Http, Response } from '@angular/http';
import {Observable} from 'rxjs';
import 'rxjs/add/operator/map';
import {isNode} from 'angular2-universal';
@Component({
selector: 'app-todo',
templateUrl: './todo.component.html',
styleUrls: ['./todo.component.css']
})
export class TodoComponent implements OnInit {
constructor(private http: Http) {}
private todo: any;
ngOnInit() {
if(isNode) {
this.http
.get('http://api.pushsc.com/api/v1/code/show/589ceab40a58d602a0b99d10')
.map((response: Response) => response.json())
.subscribe(data => {
console.log(data);
this.todo = data;
})
error => {
console.log(error);
};
}
}
}在控制台中,我得到了来自API的响应,这意味着来自服务器的http工作...但是,即使我从http中删除了isNode内容,poroblem也在客户端上,而不是像它应该呈现的那样呈现。会有什么问题呢?
发布于 2017-03-29 21:41:59
您需要安装并启用预引导https://github.com/angular/preboot,以便在客户端运行代码。
发布于 2017-03-19 05:58:28
来自该的angular2-universal的源代码
默认情况下,分配给isNode的值为true,因此如果该值不可用,则http调用将失败。
https://stackoverflow.com/questions/42880305
复制相似问题