我需要将一些数据从angular传到node.js服务器上。这是我的angular postlist组件: import { Component, OnInit } from '@angularcore'; import { HttpClient } from "@angularcommonhttp"。
@Component({
selector: 'app-postlist',
templateUrl: './postlist.component.html',
styleUrls: ['./postlist.component.css']
})
export class PostlistComponent implements OnInit {
constructor(private http: HttpClient) { }
public data="test";
ngOnInit(): void {
this.http
.post("http://localhost:3000/api/book",this.data);
}
}
我的node.js服务器。
const express=require('express');
var app = express();
app.post('/api/book', function(req, res, next){
var data = req.body.params;
console.log(data);
});
app.listen(3000);
我试图用 console.log 记录数据,但什么也没发生。
你在调用中缺少.subscribe。把你的代码改成:-
ngOnInit(): void {
this.http
.post("http://localhost:3000/api/book",this.data).subscribe();
}
并在nodejs中打印req.body。
如果您计划打印有效载荷 this.data
,采取 req.body
而不是 req.body.params
.同时检查你是否有任何 cors
控制台中的错误,这也会阻止你的数据到达你的Web服务器。