【问题标题】:passing data from loop to front-end将数据从循环传递到前端
【发布时间】:2021-11-13 12:33:44
【问题描述】:

我的后端有这个功能:

   app.get('/dashboard', async(req, res) => {
  const customers = await stripe.customers.list();

  customers.data.forEach(customer => {
    console.log(customer.metadata);
  });

  res.render('dashboard.ejs', {customer: customers})
})

在我的前端:

 <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
    <thead>
      <tr>
        <th>NAME</th>
        <th>EMAIL</th>
        <th>ACTIONS</th>
      </tr>
    </thead>
    <tbody>
      <% if(customer.length){ 
        for(var i = 0;i < customer.length;i++) { %>
      <tr>
      <td><%=customer[i].NAME%></td>
      <td><%=customer[i].EMAIL%></td>
         <% }
        }else{ %>
            <% } %>
    </tbody>
  </table>

但是,我正在尝试将 METADATA 传递给前端。在元数据对象中,我有nameemail。所以在前端,我尝试了:

<%=customer[i].METADATA.NAME%>

但它什么也没返回。和后端相同。我该如何解决这个问题?

【问题讨论】:

  • 你得到什么错误? undefienederror 404, 404, 500 ...
  • @span 没有错误。它只是不返回任何东西。它是空的。但是当我登录customers.data.forEach(customer =&gt; { console.log(customer.metadata); }); 时,它会显示元数据,但现在我需要将该元数据发送到前端
  • 在 Javascript 中,对象键区分大小写,您说您的数据中有 nameemail,但在模板中您使用了 .NAME.EMAIL
  • 你也不见了
  • 哦,你需要确定。我将尝试添加有关如何获取的代码。

标签: javascript node.js for-loop ejs


【解决方案1】:

在上面的 cmets 中,我所说的 fetch 一词是指您需要一些如何连接到后端以接受前端数据的术语。您可以使用 ajax、axios、fetch API 等。下面我使用 ajax 来展示如何从后端获取数据。如果您有任何问题,请随时发表评论?

var data_from_backend;

$.ajax({
  type: 'GET',
  data: 'data_to_send_to_backend',
  url: 'server_URL',
  success: function(getMetadata) {
    $.each(JSON.parse(getMetadata), function(myMetadata) {
      data_from_backend = myMetadata.the_name_of_data_set_on_backend
    })
  },
  error: function(data) {
    console.log('Something went wrong.');
  }
});

console.log(data_from_backend)

【讨论】:

  • 明白了。感谢您的回答。我将尝试这个解决方案,看看它是否适合我。欣赏它
  • 知道了。并确保检查如何在后端处理您的请求。谷歌 node js restful api 的例子真的很简单。
  • 会的,谢谢。检查它会很有帮助,因为你这样做的方式对我来说很有意义,但我无法分解它并正确理解它。欣赏建议。今天晚上我有一些学习要做,哈哈!
  • 如果没有 jquery,您可能会从前端甚至是 devtools 控制台使用fetch
猜你喜欢
  • 2020-07-08
  • 1970-01-01
  • 2020-09-21
  • 2020-10-14
  • 1970-01-01
  • 1970-01-01
  • 2016-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多