Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Can';t将数据从Angular发布到我的nodejs api_Node.js_Angular_Angular Http - Fatal编程技术网

Node.js Can';t将数据从Angular发布到我的nodejs api

Node.js Can';t将数据从Angular发布到我的nodejs api,node.js,angular,angular-http,Node.js,Angular,Angular Http,当我试图将数据从angular发布到我的nodejs后端时,它不起作用 [后端]这是捕获已发布数据的函数。我和邮递员一起测试了一下,它成功了。console.log仅用于测试。我还有一个bodyParser正在运行 register : function (req, res) { console.log(req.body); res.json(req.body); } [前端]这是我用来发送数据的函数。我使用断点和console.log对其进行了测试,并调用了该函数。我想我已经

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

[后端]这是捕获已发布数据的函数。我和邮递员一起测试了一下,它成功了。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(…)上放置断点时我知道了:

你需要订阅帖子

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

             console.log('result',result);

        });

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

是的,它起作用了!非常感谢。我以为问题出在头球上。