使用Socket.IO更新EJS模板

时间:2018-06-24 07:50:49

标签: javascript node.js socket.io ejs

基本上,我使用模态形式的表单创建对象,并使用socket.io发送数据。我想更新提交表单后添加新项时显示的信息,而无需刷新页面。

添加功能

  //TODO: Make validations for the cluster using Node-ORM2
  add: function(m, db, socket) {
    db.models.cluster.createAsync({ name : m.name, shop_id : m.shop, display_id : m.display}).then(function(result) {
      socket.emit('message', {
        success : true,
        msg : 'Cluster successfuly added to the database.'
      })
    })
  }

EJS代码:

 <div class="row">
  <% clusters.forEach(function(cluster) { %>
    <div class="col-sm-12 col-md-3">
      <div class="card">
        <div class="card-header bg-light">
          <%= cluster.name %>
        </div>
        <div class="card-body">
          <ul id="cluster" data-name="<%= cluster.id %>" class="list-group">
            <% if(cluster.devices.length == 0) { %>
              <li class="list-group-item ignore">No active devices in this cluster.</li>
              <% } %>  
              <% for(var i = 0; i < cluster.devices.length; i++) { %>
                <li data-id="<%= cluster.devices[i].id %>" class="list-group-item"><%= cluster.devices[i].name %></li>
                <% } %>
              </ul>
            </div>
          </div>
        </div>
        <% }) %>
      </div>

0 个答案:

没有答案