无法将数据从Angular发布到我的nodejs api

时间:2016-12-03 10:28:26

标签: node.js angular angular-http

当我尝试将数据从angular发布到我的nodejs后端时,它不起作用。

[Backend]这是捕获已发布数据的函数。我用邮差测试了它并且它工作了。 console.log仅用于测试。我还有一个bodyParser正在运行。

register : function (req, res) {
    console.log(req.body);
    res.json(req.body);
}

[前端]这是我调用发送数据的功能。我用断点和console.log测试它,并调用该函数。我想我测试了格式化标题的所有可能方法。

import { Injectable } from '@angular/core';
import { Http, Response, Headers, RequestOptions } from '@angular/http';

@Injectable()
export class DataService {
    constructor (private http: Http) {}

    register(user:string): void{
         let headers = new Headers({ 'Content-Type': 'application/json' });
         let options = new RequestOptions({ headers: headers });

         this.http.post('http://127.0.0.1:5000/register', { user }, options);

    }
}

当我在this.http.post(...);上设置断点时,我得到了这个:link to image

1 个答案:

答案 0 :(得分:2)

您需要订阅帖子。

  this.http
       .post('http://127.0.0.1:5000/register', { user }, options)
       .subscribe((result){

             console.log('result',result);

        });

更清楚的是,Angualr2 http服务正在使用rxjs Observables,它的本质和可观察性是可观察的,所以除非你订阅它们,否则它们不会做任何东西。