首页 > 解决方案 > 如何加载ejs页面并从ajax成功注入数据

问题描述

我正在 mvc 流中构建一个包含 express、ejs 和 MySQL 的网站。我有一个用数据呈现页面的 api。我正在使用 ajax 单击按钮并前往 ejs 页面调用此 api。但问题是,如果我在该页面中有 ejs 标签,则 href 将不起作用。如果我删除它,它将加载。我想要实现的是,在按钮上单击 ajax 成功重定向到另一个带有数据的 ejs 页面。

我的 ejs 页面(mastersessionhistory)

<body>

  <h1> Master Session History</h1>

  
  
    <ul>
      <% locals.data.rows.forEach(function (master) { %>
        <div id="target">
          <li class="patient-data">
            <div>   Session Type : <%= master.sub_id %></div>
              <div> Date: <%= master.date %></div>
              <div>  Patient ID: <%= master.p_id %></div>

            </li>
            <button type = "button" id="<%= master.sub_id %>" onclick="approve(this.id)" type="button" class="btn btn-info btn-sm" id="btn-success" > View</button> </a></div>
            <% }); %>
          </div>
          </ul>

我的阿贾克斯

 <script type="text/javascript">
      function approve(id) {
          var p_id = id;
          console.log(p_id);
          var data = {};
          // data.Id = userId;
          data.p_id = p_id;
    
          $.ajax({
                type: 'POST',
                data: JSON.stringify(data),
                 contentType: 'application/json',
                 url: "http://localhost:5000/masterSessionData",                      
                 success: function(data) {
                     console.log(data);
                    
                   window.location.href=("/mastersessionhistory");
                     
            
                  }
            })
       }    
                
</script>

标签: node.jsajaxexpressejs

解决方案


推荐阅读