首页 > 解决方案 > 如何将元素ID发送到节点js文件

问题描述

我试图在单击时将按钮 ID 发送到 server.js,用于订单处理站点

我已经尝试在我的 javascript 文件中获取,但对于每个产品尺寸和价格,我都必须做很多事情,下面是我的 Javascript、Node Js 和 HTML 文件。

这是我的 HTML 代码:

<button type="button" class="btn btn-light bn" id="l1">
    <span class="dif">3/8"</span> Q2.15
</button>            
<button type="button" class="btn btn-light bn">
    <span class="dif">1/2"</span> Q2.90
</button>

这是我的 JS 代码:

 const button = document.getElementById('l1');

 button.addEventListener('click', function(e) {
 console.log('button was clicked');


fetch('/clicked', {method: 'POST'})
    .then(function(response) {
      if(response.ok) {
        console.log('Click was recorded');
        return;
    }
       throw new Error('Request failed.');
    })
    .catch(function(error) {
      console.log(error);
    });
});

这是我的节点 JS 代码:

app.post('/clicked', (req, res) => {
  const click = 12;
  Product.findOne({id: click}, function(err, foundLList) {
        if(err) {
            console.log(err);
        } else {
            console.log(foundLList);
        }
    }
); 
});

我想要实现的是在单击以发布节点 js 时发送按钮 ID。

标签: javascripthtmlnode.js

解决方案


获取第二个参数需要更多属性。在body您可以发送您的数据:

fetch('/clicked', {
    method: 'POST', 
    body: JSON.stringify({ id: e.currentTarget.id }),
})

推荐阅读