我正在构建一个包含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);
});
提前致谢
答案 0 :(得分:0)
POST参数在请求正文中发送。要从POST请求中接收参数,您需要一个正文解析器,然后使用req.body.videoId
抓取它。
如果你想从URL中获取一个参数,就像你在这里尝试一样,你应该使用GET请求。然后,您将能够使用req.params.videoId
获取ID。
因此,只需将jQuery从POST更改为GET,然后在服务器端更改为router.get
即可。