首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在脚本标记中包含ejs

如何在脚本标记中包含ejs
EN

Stack Overflow用户
提问于 2022-03-14 18:03:20
回答 1查看 877关注 0票数 1

我想使用脚本标记内的forEach循环来呈现ejs,但是我得到的产品没有定义错误。我无法将变量正确地传递到ejs.render()函数中。

这里是我的产品卡的ejs模板:

代码语言:javascript
复制
<div class="card mb-3" style="max-width: 540px">
    <div class="row no-gutters">
      <div class="col-md-4">
        <img
          src="/images/<%= product.image_groups[0].images[0].link%>"
          class="card-img"
          alt="<%= product.image_groups[0].images[0].alt%>"
        />
      </div>
      <div class="col-md-8">
        <div class="card-body d-flex flex-column">
          <h5 class="card-title"><%= product.name %></h5>
          <p class="card-text">
            <%- product.short_description %>
          </p>

          <div class="card-footer bg-transparent border-dark mt-auto">
            <div class="row">
              <div class="col sm-6">
                <p>Price:<%= product.currency %> <%= product.price %></p>
              </div>
              <div class="col sm-6">
                <a href="/product/<%= product.primary_category_id %>/<%= product.id %>" class="btn btn-primary">More Info</a>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>

这里是我的脚本:

代码语言:javascript
复制
<script>
  const form = document.querySelector("form");

  form.addEventListener("submit", async (e) => {
    e.preventDefault();
    // get values
    const productName = form.productname.value
    const searchResultsEl = document.getElementById('searchResults')
    
    try {
      const res = await fetch("/search", {
        method: "POST",
        body: JSON.stringify({ productName }),
        headers: { "Content-Type": "application/json" },
      })
      const foundProducts = await res.json()
      foundProducts.data.forEach(product => {
        let html = ejs.render("<%- include('../product/productCard.ejs') %>",{product:product})
        searchResultsEl.innerHTML += html
        
      })

    } catch (err) {

      console.log(err)
    }
  });
</script>

错误:未定义产品

我可以用console.log(产品)打印产品,这样就有了产品。我不知道是什么问题。有什么帮助吗?

误差图像:

EN

回答 1

Stack Overflow用户

发布于 2022-03-15 06:10:56

试一试

代码语言:javascript
复制
let html = ejs.render('<%- include("../product/productCard.ejs") %>',{product:product})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71472261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档