Javascript Node.js express POST 404ing

Javascript Node.js express POST 404ing,javascript,post,backbone.js,express,http-status-code-404,Javascript,Post,Backbone.js,Express,Http Status Code 404,我有一个使用express framework的小node.js应用程序,但由于某些原因,我无法让我的应用程序响应POST请求。在服务器日志中,我只得到了“POST/4045ms”,我不知道为什么 编辑:澄清一下-我的问题是app.post似乎什么都没做 编辑2:我昨晚设法解决了这个问题,但现在我不知道是在什么时候解决的 Node.js服务器代码: 在实际的网页上,我得到了以下javascript代码: var login = $('#login'); var page = $('#page

我有一个使用express framework的小node.js应用程序,但由于某些原因,我无法让我的应用程序响应POST请求。在服务器日志中,我只得到了“POST/4045ms”,我不知道为什么

编辑:澄清一下-我的问题是app.post似乎什么都没做

编辑2:我昨晚设法解决了这个问题,但现在我不知道是在什么时候解决的

Node.js服务器代码: 在实际的网页上,我得到了以下javascript代码:

var login = $('#login');
  var page = $('#page');
  var register = $('#register');
  var userField = login.find('.user');
  var passField = login.find('.pass');
  var confPassField = login.find('.confpass');
  var form = $('.logform');
  $('#formbutton').on('click',function(){
    if(register.hasClass('hidden')){
      login.addClass('hidden');
      confPassField.val('');
      var logDat = JSON.stringify(form.serializeArray);
      userField.val('');
      passField.val('');
      page.html("Login form submitted");
      $.post(
        form.attr("action"),
        {test:"test"},
        function(data){
          alert("Response: "+data)
        }
      );

    }

如果您的日志显示您是“POST/404 5ms”,您需要更改以下行:

app.get('/', routes.index);

这将允许GET或POST到达该路线。如果您仅向该路线发帖,也可以使用
app.post()
。希望这有帮助


此处的文档:

确保“form.attr(“action”)”获得了正确的URL。您的表单似乎是发布到索引页,而不是发布到“/test”。也许应该改成
$('form')。attr(“action”)
对我来说,问题是我的

app.post('/test', jsonParser, function (req, res) {
    console.log(req);
    res.send('Ok');
});
下面这部分由express generator添加到我的app.js

// catch 404 and forward to error handler
app.use(function(req, res, next) {
    next(createError(404));
});

通过更改文件中的顺序,我解决了这个问题。

好吧,这不是我问题的答案,因为我已经在使用app.post(),而且它不起作用。这就是我的问题所在。你正在使用app.post的“/test”not/”。仔细阅读我的答案。我是说我是在发布/测试,而不是/。我成功了,这不是问题所在。昨晚我设法让它工作起来,现在我记不起我做了什么改变了。我似乎有一个问题,提交和标签修复正确时,我累了…啊。有道理。无论如何,谢谢你的帮助。你的不是解决这个问题的正确方法,但距离足够近,我会把你的标记为答案。
app.post('/test', jsonParser, function (req, res) {
    console.log(req);
    res.send('Ok');
});
// catch 404 and forward to error handler
app.use(function(req, res, next) {
    next(createError(404));
});