如果Angular 7应用程序使用Express作为后端服务器,并且在进行POST请求时返回空响应体,可以尝试以下解决方法:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.post('/api/endpoint', (req, res) => {
// 处理POST请求逻辑
// 返回响应
res.send('Response data');
});
app.listen(3000, () => {
console.log('Express服务器已启动');
});
import { HttpClient } from '@angular/common/http';
export class MyService {
constructor(private http: HttpClient) {}
postData() {
const url = '/api/endpoint';
const data = { key: 'value' };
this.http.post(url, data).subscribe(
(response) => {
console.log('响应数据:', response);
},
(error) => {
console.error('发生错误:', error);
}
);
}
}
cors
模块来配置跨域请求。安装cors
模块并在服务器代码中使用它:npm install cors
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const app = express();
app.use(cors());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
// ... 其他路由和处理逻辑
使用上述方法之一,应该能够解决Angular 7 / Express应用程序中POST请求返回空响应体的问题。