【问题标题】:Is there any way to get value in node js server while clicking on div有什么方法可以在单击 div 时在节点 js 服务器中获取价值
【发布时间】:2020-11-09 12:54:28
【问题描述】:

这是我的 EJS 文件

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Sart Plug</title>
    <script src="http://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
    <link rel="stylesheet" href="/css/usrDashboard.css">
    <link rel="icon" href="/images/plugimg.png" type="image/x-icon" />
  </head>
  <body>
    <div class="container">
      <div class="header">
        <a href="#" class="logo">Select Device</a>
        <div class="header-right">
          <a href="/logout">Log Out</a>
        </div>
      </div>
      <div class="jumbotron" id="jumbo">
        <p><%=data.noResult%></p>
        <div class="row">
          <% for(var i=0; i < data.result.length; i++) { %>
            <div class="col-25">
              <a href="/plugDashboard">
                <p><img class="img-fluid" src="/images/plugimg.png" alt="Plug Image"></p>
                <p><h3><%= data.result[i].device_name %></h3></p>
                <p><h6><%= data.result[i].device_address %></h6></p>
              </a>
            </div>
          <% } %>
        </div>
      </div>
    </div>
  </body>
</html>

Html view here

我的路线在以下路线中:-

app.get('/usrDashboard', checkAuthenticted, (req, res) => {
  let email = req.user.email;
  con.query("SELECT device_name, device_address FROM pluglist WHERE email ='"+ email +"' " , (err, result, fields)=> {
    if(err) throw err;
    console.log(result);
    if (result.length === 0) {
      res.render('usrDashboard',{data:{email: email,
                                        result:result,
                                        noResult:'You have no saved device'}});
    }
    else {

      res.render('usrDashboard',{data:{email: email,
                                        result:result}});
    }
  });
})

app.get('/plugDashboard', checkAuthenticted, (req, res) => {
  console.log(req);
  res.render('plugDashboard');
})

所以我想在这里,每当我单击任何 div 时,我都想从 plugDashboard 部分中的相应 div 打印日志中的 mac id。那么有什么办法可以做到吗?我搜索了许多解决方案,但没有一个对我有帮助。

【问题讨论】:

    标签: javascript node.js express ejs


    【解决方案1】:

    您可以添加新的GET快递路线,例如:

    router.get('/get_mac_info/:mac_id', function(req, res, next) {
      res.json({
        mac_id: 'test_id'
    
      });
    });

    然后添加ajax点击事件调用:

    $(function () {
        $(document).on('click', '.col-25', function (e) {
            $.get('/get_mac_info/' + mac_id, function(data){
              $('.print_container').text(data)
            })
            e.preventDefault();
        });
    
    });

    【讨论】:

    • 实际上,我已经将 div 放在了一个表单中,并且我已经将 div 上的 onclick 设置为提交父级,例如 &lt;div onClick="this.parentNode.submit();"&gt; 并且这个解决了。
    • 如果您认为堆栈溢出社区的答案已得到解答,请接受它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多