node.js - 不要在 POST express.js 上重定向

标签 node.js rest express post

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

这在 Express 4 中是如何实现的?我放在 .post 路由中的所有内容总是以页面加载结束。我很确定在 jQuery 的 ajax 方法中你可以只返回 false 并且页面不会发生任何事情,只是发送请求,这就是我想要发生的事情,因为我正在使用 RESTful api 并且我想添加用户到当前用户的关注,但我不想仅仅为了这个功能而使用 jQuery。如果可能的话,我希望以 Express 方式完成,但如有任何帮助,我们将不胜感激。

<小时/>

views/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>

routes/user.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
        ...
    });

最佳答案

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

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

关于node.js - 不要在 POST express.js 上重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39561317/

相关文章:

java - 通过 SpringBoot 调用 REST api 时不支持 POST 异常

rest - D 中的 REST 框架有哪些选择?

node.js - 在 express.js 4 中包含所有路由的模块

node.js - Express.js 中路由参数的正则表达式

node.js - 将 Mongoose 对象从 id 填充到新字段

node.js - Redis扫描的诡异鬼

node.js - 无法上传多个文件

javascript - 第一次尝试firebase云功能

javascript - 解析预定的后台作业

azure - 使用 REST API 的数据工厂中的数据摄取模式