如何使用节点js express app创建一个类似的按钮?

时间:2016-08-06 11:30:03

标签: javascript node.js mongodb express

我正在构建一个包含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);

     });

提前致谢

1 个答案:

答案 0 :(得分:0)

POST参数在请求正文中发送。要从POST请求中接收参数,您需要一个正文解析器,然后使用req.body.videoId抓取它。

如果你想从URL中获取一个参数,就像你在这里尝试一样,你应该使用GET请求。然后,您将能够使用req.params.videoId获取ID。

因此,只需将jQuery从POST更改为GET,然后在服务器端更改为router.get即可。

进一步阅读:How are parameters sent in POST-request?

相关问题