无法从 Angular post 数据到我的 nodejs api

Can't post data from Angular to my nodejs api

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

[后端] 这是捕获 posted 数据的函数。我用 postman 测试了它,它起作用了。 console.log 仅用于测试。我还有一个 bodyParser 运行.

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

[Frontend] 这是我调用来发送数据的函数。我用断点和 console.log 测试了它并调用了函数。我想我测试了格式化 header.

的所有可能方法
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

您需要订阅post。

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

             console.log('result',result);

        });

更清楚地说,Angualr2 http 服务正在使用 rxjs Observables,它本质上是一个 observable,而 observables 是惰性的,所以除非您订阅它们,否则它们不会做任何事情。