首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于JSON文件生成页面

基于JSON文件生成页面
EN

Stack Overflow用户
提问于 2020-04-14 19:55:29
回答 2查看 340关注 0票数 0

我有一个JSON文件,其中包含每个人的信息(姓名、简历、图片等)。

我想知道什么技术可以让我从JSON文件中的人生成网页:例如,如果url是site.com/person/steve,那么它将在JSON中找到名称steve并显示信息(名称、简介、图片等)。关于史蒂夫的事。

优选地,我将能够通过抓取persontemplate.html并在JSON中找到匹配项来创建JSON以及任何可以填充相关部分的技术。

我当前的系统使用JS和node.js,所以如果我可以使用它们,那就很好,但不是必须的。

我已经阅读了其他堆栈溢出,但它们不能解决我的问题。

非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-14 20:01:46

我不确定使用ajax和节点来渲染视图的意义。它比使用模板引擎更复杂吗?

因此您可以使用express (随npm一起安装)和handlebars (也随npm一起安装)从res.render('views/nameOfYourFile.hbs')后端呈现.hbs文件

如果你不想使用handlebars,你也可以使用jade,它是express的默认模板引擎。

但是如果你真的想用ajax从你的后端获取数据,那么只需要在你的页面上运行一个script,它会得到window.location(当前的url),使用get让它通过这个url到达你的后端,并在你的后端函数中使用res.send()来发送那个json数据。但是它比使用express…复杂得多。这取决于你到底想做什么。

票数 1
EN

Stack Overflow用户

发布于 2020-04-14 20:43:18

拥有这个html

代码语言:javascript
复制
<div id="root"></div>

有了这个脚本

代码语言:javascript
复制
// Sample data, in real app you probably load this data using an import

const data = [
  {
    name: "Ada",
    surname: "Wong",
  },
  {
    name: "Leon",
    surname: "Kennedy",
  },
];

function render() {
  const { name, surname } = getPerson();

  document.querySelector("#root").innerHTML = `
      <table>
          <tbody>
              <tr>
                  <td>Name</td>
                  <td>${name}</td>
              </tr>
              <tr>
                  <td>Surname</td>
                  <td>${surname}</td>
              </tr>
          </tbody>
      </table>`;
}

function getPerson() {
  const location = document.location.search.substring(1);
  const searchParams = new URLSearchParams(location);
  const name = searchParams.get("person");

  return data.find((entry) => entry.name === name);
}

render();

您可以尝试从url中获取要查找的数据,查看示例中的getPerson ()函数,从那里您可以呈现所获取的数据。这是一个演示,你必须考虑什么与安全相关,以及你找不到结果的情况

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61207082

复制
相关文章

相似问题

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