不要在POST express.js上重定向

时间:2016-09-18 18:42:51

标签: node.js rest express post

我正在使用Node.js和Express 4创建一个基本的Web应用程序,我正在尝试实现“跟随”功能。我在Github网站上做了一些检查,发现它使用了一个带有跟随按钮的表单,该按钮会发布到服务器以跟踪用户。我认为这听起来是一个很好的方法但是当我发布时我不想像github网站那样重新加载页面。

Express 4中的内容如何?我放在.post路径中的所有内容总是以页面加载结束。我很确定在jQuery的ajax方法中你只能返回false并且页面什么都不会发生,只是请求将被发送,这是我想要发生的,因为我正在使用RESTful api并且我想添加用户对于当前用户的追随者,但我不想仅仅为此功能使用jQuery。如果可能的话,我希望它可以在Express中完成,但任何帮助都会受到赞赏。

视图/ user.handlebars

<h1>{{user.displayName}}</h1>
<p>@{{user.username}}</p>

<form action="" data-userid="{{user._id}}" method="post">
    <button name="follow" type="submit">Follow</button>
</form>

路由/ users.js

app.route('/:username')
    .get(function(req, res) {
        // get :username user from api and load info
        ...
    })
    .post(function(req, res) {
        // don't reload page

        ???

        // send PUT :username user to current users following array
        ...
    });

1 个答案:

答案 0 :(得分:1)

所以你走在正确的轨道上,但是你不必将你的动作放在HTML中(在你的玉器文件中),你将不得不在你的玉器中添加script部分并使用javascript附加一个onClick事件到按钮,这样当你按下按钮时,你会调用你的ajax方法。

如果这没有意义,请告诉我。