node.js - 从 Angular6 向 NodeJS Express 发送 POST 请求时出现未知错误

标签 node.js express

我正在尝试使用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 中的任何内容都没有改变最终结果 - 我不断收到此非信息性错误

最佳答案

您的回复存在问题,无法使用

设置 header
res.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/

相关文章:

javascript - 使用 Express 实现 React

javascript - 是否可以在 JS 代码中以编程方式设置 Jison 解析器的状态?

javascript - await 是否保证在 JavaScript 中没有赋值的执行顺序?

node.js - Fluent-ffmpeg 获取编解码器数据而不指定输出

Node.js(带 socket.io 和 express)抛出 "events.js:71 throw arguments[1];//Unhandled ' 错误事件”

node.js - Express/Node 响应 header 列表?

node.js - 无法使用 Express API 和 Node JS(Angular4) 将数据发布到 mongo db

node.js - Rollup 用相对路径替换 Node 模块导入

mysql - 连接失败 : Error: connect ETIMEDOUT

javascript - Express 中的动态 URL 和静态路由