我正在尝试使用httpClient(从角度前端)向nodeJS Express服务器发送一个简单的发布请求, 由于某种原因,我在尝试这样做时不断收到“未知错误”,
我在前端使用的代码:
this.httpClient.post('http://127.0.0.1:8989/login',
{ username: 'test',
password: 'pass1'
}, {headers: {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } })
.subscribe(
data => {
debugger;
console.log('POST Request is successful', data);
},
error => {
console.log('ERROR');
}
);
我在 Nodejs Express 后端使用的代码:
var express = require('express');
var app = express();
app.set('trust proxy', true)
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.listen('8989');
console.log('Server started! At http://127.0.0.1:8989');
app.post('/login', function(req, res, next) {
var user = req.body.username;
var password = req.body.password;
var ip = req.ip || req.connection.remoteAddress;
console.log('***** ' + user + " " + password + " " + ip);
});
以及发送请求时我在客户端收到的错误:
"Http failure response for http://127.0.0.1:8989/login: 0 Unknown Error"
有什么想法吗?我怀疑 CORS,但我添加到 header 中的任何内容都没有改变最终结果 - 我不断收到此非信息性错误
最佳答案
您的回复存在问题,无法使用
设置 headerres.headers("Access-Control-Allow-Origin", "*")
你需要打电话
res.setHeaders("Access-Control-Allow-Origin", "*")
如果您使用express,我建议使用https://github.com/expressjs/cors用于处理 CORS 问题。
关于node.js - 从 Angular6 向 NodeJS Express 发送 POST 请求时出现未知错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56308847/