我用node,express和mongodb构建一个网页。我试图制作一个类似按钮,但问题是我无法将变量值从我的ejs传递到服务器端。我怎样才能做到这一点?这是我尝试过的例子
Html
<div class="thumbnail">
<div class="caption">
<strong id="Title"><%=video.title %> </strong>
<button id="like" value="Like" type="submit">
<script>
var videoId =<%= video._id %>;
$('#like').click(function(){
$.post('/like/'+videoId);
});
</script>
服务器端
router.post('/like/:videoId', function (req, res) {
var test = req.params.videoId;
console.log("works");
console.log(test);
});
提前致谢
POST参数在请求正文中发送。要从POST请求中接收参数,您需要一个正文解析器,然后使用来抓取它req.body.videoId
。
如果要从URL抓取参数(如您在此处尝试的那样),则应改用GET-request。然后,您将可以使用来获取ID req.params.videoId
。
因此,只需将jQuery从POST更改为GET并router.get
在服务器端更改为,它就可以正常工作。
进一步阅读:如何在POST请求中发送参数?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句