【问题标题】:Can't post data from Angular to my nodejs api无法将数据从 Angular 发布到我的 nodejs api
【发布时间】:2016-12-03 18:29:55
【问题描述】:

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

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

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

[Frontend] 这是我用来发送数据的函数。我用断点和 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

【问题讨论】:

    标签: node.js angular angular-http


    【解决方案1】:

    您需要订阅帖子。

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

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

    【讨论】:

    • 是的,它成功了!谢谢!我认为问题出在标题上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    相关资源
    最近更新 更多