【问题标题】:How do I prevent redirect after POSTing form data in express.js?在 express.js 中发布表单数据后如何防止重定向?
【发布时间】:2014-05-10 00:54:17
【问题描述】:

我在其他帖子中看到了如何通过在提交覆盖方法中返回 false 来防止 AJAX 调用上的重定向,但这在 express 中不起作用。提交数据后,我不知道如何呈现重定向。以下代码正确执行,但重定向到 init。

app.js

 app.post('/init', routes.init(db));

路由/index.js

exports.init = function(db){
  return function(req, res) {
    var name = req.body.name;
    var track = req.body.track;

    var collection = db.get('configs');

    collection.insert({
      "name": name,
      "track": track
    }, function (err, doc) {
      if (err) {
        res.send("Error occurred adding config to db");
      }
      else {
        res.send(200);
      }
    });
  };
};

admin.jade

  script(type='text/javascript').
      $(document).ready(function() {
        $('#formInit').submit(function() {
          $.post('/init', 
            { name : $(this).name.value,
              track : $(this).track.value 
            }   
          );  
          return false;
        }); 
     });

    ....

    block content
      #control-panel

        form#formInit(name='init', action="/init", method="post")
          input#inputEventName(type="text", name="name", placeholder="name")
          input#inputHashtag(type="text", name="track", placeholder="track")
          button#buttonSubmit(type="submit") submit

【问题讨论】:

    标签: javascript jquery ajax node.js express


    【解决方案1】:
    $('formInit').on('submit', function(e) {
     e.preventDefault();
    

    去掉return false;您也没有在选择器中指定类或 ID。将事件绑定更改为使用 .on 方法。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-01
      • 1970-01-01
      • 2020-01-08
      • 2012-08-09
      • 2011-05-01
      • 2016-12-04
      • 2015-12-05
      • 1970-01-01
      相关资源
      最近更新 更多