我正在使用 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/