我正在使用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
...
});
答案 0 :(得分:1)
所以你走在正确的轨道上,但是你不必将你的动作放在HTML中(在你的玉器文件中),你将不得不在你的玉器中添加script
部分并使用javascript附加一个onClick事件到按钮,这样当你按下按钮时,你会调用你的ajax方法。
如果这没有意义,请告诉我。