在服务器端获取http请求但不在客户端显示[Angular Universal(universal cli)]

时间:2017-03-18 21:52:16

标签: angular angular-universal universal-cli

我有这样的要求:

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工作...但是poroblem在客户端上,即使我从http中删除isNode内容也不应该呈现......应该是什么问题?

2 个答案:

答案 0 :(得分:0)

您需要在客户端为运行代码安装并启用preboot https://github.com/angular/preboot

答案 1 :(得分:-1)

来自此 link

的angular2-universal的源代码

默认情况下,分配给isNode的值为true,因此如果http调用不可用,则http调用将失败。

相关问题