无法将数据从Angular发布到我的nodejs api
问题描述:
当我尝试从angular发布数据到我的nodejs后端时,它不起作用。无法将数据从Angular发布到我的nodejs api
[后端]这是捕获发布数据的函数。我用邮差测试过它,它工作。 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
答
您需要订阅发布。
this.http
.post('http://127.0.0.1:5000/register', { user }, options)
.subscribe((result){
console.log('result',result);
});
更清晰,Angualr2 HTTP服务使用rxjs观测量,它的可观察到的,在它的性质和观测懒惰,所以除非你订阅了他们,他们不会做任何事情。
是的,它的工作!谢谢!我认为问题出在头上。 –
好,接受? – Milad