我正在尝试开始使用connect为一些静态网页提供服务,如下所示:
const express = require ('express');
const bodyParser = require ('body-parser');
const cors = require ('cors');
const app = express();
const port = 3000;
app.use(bodyParser.text());
app.use(cors());
app.post('/api/pesan', (req, res) => {
console.log(req.body);
res.status(200).send();
})
app.listen(port, () => console.log('Aplikasi berjalan di port', port));
这是我的app.component.ts。
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
pesan = '';
constructor (private http: HttpClient){}
kirim(){
console.log(this.pesan);
this.http.post('http://localhost:3000/api/pesan', this.pesan).toPromise();
}
)
我创建了newfolder/backend并将server.js放在那里。 我想用app.component.html连接节点,但我得到了以下错误
据我所知,你想做两件事:
console.log(。。。)
数据下面是一个更新后的代码,应该可以工作,以及为什么以前不能工作:
我只是返回了数据
const express = require ('express');
const bodyParser = require ('body-parser');
const cors = require ('cors');
const app = express();
const port = 3000;
app.use(bodyParser.text());
app.use(cors());
app.post('/api/pesan', (req, res) => {
console.log(req.body);
// UPDATED: This time, we return the data you passed
res.status(200).send(req.body);
})
app.listen(port, () => console.log('Aplikasi berjalan di port', port));
您实际上能够正确地调用端点,但没有对使用.toPromise()
创建的promise执行任何操作。 我更新了代码来处理这个问题。
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
pesan = '';
constructor (private http: HttpClient){}
kirim(){
this.http.post('http://localhost:3000/api/pesan', this.pesan)
.toPromise()
.then(response => {
const data = response.json();
console.log(data);
});
}
}