【问题标题】:NodeJS after second post get 500第二个帖子后的NodeJS得到500
【发布时间】:2016-05-22 06:55:51
【问题描述】:

我有我的路由器的代码

var express = require('express');
var router = express.Router();


function sendSolve(test) {
    // Some code for calculations
}
/* POST listing. */
router.post('/', function (req, res, next) {
    sendSolve(req.body.data);
    next();
}, function (req,res) {
    res.json({"message": "ok"});
});

module.exports = router;

客户端代码:

$('.button').on('click', function () {
    var $textArea = $('#textArea');
    var newData={data: $textArea.val()};
    $.post('/', newData, function (res) {
        console.log(res);
        $textArea.val('');
    });
});

然后我首先$.post 一切正常,但在第二个帖子我收到错误 500 (Internal Server Error)k.cors.a.crossDomain.send @ jquery-2.1.4.min.js:4n.extend.ajax @ jquery-2.1.4.min.js:4n.(anonymous function) @ jquery-2.1.4.min.js:4(anonymous function) @ main.js:26n.event.dispatch @ jquery-2.1.4.min.js:3r.handle @ jquery-2.1.4.min.js:3

【问题讨论】:

  • 您可能需要将前端代码添加到问题中,因为这是引发问题的地方。如果您使用 curl 或 postman,您会在多个帖子中收到错误吗?

标签: javascript node.js rest express


【解决方案1】:

500 (Internal Server Error)k.cors.a.crossDomain.send 对我来说似乎是一个CORS 问题。 POST 很常见。解决此问题的一种方法是通过中间件启用 CORS。示例如下:

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();
});

确保将其放在您的 POST 路线上方。希望对您有所帮助。

【讨论】:

  • 很遗憾没有,仍然出现错误 500; mb 这是因为我向终端发送数据,然后在文件中写入终端的答案?
  • 好的,我解决了,在我的计算中,我在 router.post 之外创建了一个新对象,然后我将它移到里面,效果很好。求帮助
  • 不错!很高兴你知道了!
猜你喜欢
  • 2018-08-08
  • 1970-01-01
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多