使用 html 链接检索 JSON 对象并在另一个 html 页面上显示 json 数据

Posted

技术标签:

【中文标题】使用 html 链接检索 JSON 对象并在另一个 html 页面上显示 json 数据【英文标题】:Retrieving JSON object using a html link and displaying the json data on an another html page 【发布时间】:2022-01-18 08:16:43 【问题描述】:

我有两个 html 页面,当用户从第一个 html 页面链接单击时,我想检索一个 JSON 对象。当我单击第一页上的第一个链接时,链接有不同的 Id 我想获取第一个信息。问题是我单击的哪个链接,它显示了数据中的所有信息。我需要一种方法来解决它。提前致谢

(1st html page)

<a href="2nd-page.html" id="one">info 1</a> <br><br>
<a href="2nd-page.html" id="two">info 2</a>

const data = [
    
    
        id: "two",
        h1: "this is test two",
        p: "sum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC",
        list: `
             <li>dog</li>
             <li>fox</li>
             <li>cat</li>
            `
        ,
    
    
    id: "one",
    h1: "this is a test one",
    p: "Contrary to popular belief, Lorem Ipsum is not simply random text.",
    list: `
             <li>red</li>
             <li>Blue</li>
             <li>yellow</li>

    `


     

]

document.getElementById("heading").innerHTML = `$data.map(function(unit)return unit.h1)`
document.getElementById("paragraph").innerHTML = `$data.map(function(unit)return unit.p)`
document.getElementById("list").innerHTML = `$data.map(function(unit)return unit.list)`
<!-- 2nd html page -->
<!DOCTYPE html>
<html>
<body>
    <h2 id="heading"></h2>
    <p id="paragraph"></p>
    <ul id="list"></ul>

</body>
</html>

【问题讨论】:

超链接都指向同一个页面...您希望发生什么? 添加URL参数&lt;a href="2nd-page.html?id=two" id="two"&gt;info 2&lt;/a&gt;,然后根据URL参数显示数据。 第二页就像一个模板,当我点击第一页hpyerlink它应该根据js数据填充第二页元素(h2,p,ul) 您如何期望它神奇地知道您之前点击了哪个链接?这就是@Dula 向您展示的内容。向 URL 添加参数,以便您知道要显示哪些数据。 【参考方案1】:

我认为这可能会解决您的问题。感谢@Dula 和@Peter Krebs (第一页)

<a href="2nd-page.html?id=one" >info 1</a> <br><br>

<a href="2nd-page.html?id=two" >info 2</a>

const data = 
  one: 
    h1: "this is a test one",
    p: "Contrary to popular belief, Lorem Ipsum is not simply random text.",
    list: `
             <li>red</li>
             <li>Blue</li>
             <li>yellow</li>
    `
    ,
    two: 
        h1: "this is test two",
        p: "sum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC",
        list: `
             <li>dog</li>
             <li>fox</li>
             <li>cat</li>
    `
    



function get_parameter( parameter_name )
    let parameters = new URLSearchParams( window.location.search );
    return parameters.get( parameter_name );

past_id = get_parameter("id")
unit = data[past_id]

document.getElementById("heading").innerHTML = unit.h1
document.getElementById("paragraph").innerHTML = unit.p
document.getElementById("list").innerHTML = unit.list
<!DOCTYPE html>
<html>
<body>
    <h2 id="heading"></h2>
    <p id="paragraph"></p>
    <ul id="list"></ul>
<script src="your js file path.js"></script>
</body>
</html>

【讨论】:

谢谢。我认为这解决了部分问题。但无论我点击哪个链接,它仍然显示所有信息

以上是关于使用 html 链接检索 JSON 对象并在另一个 html 页面上显示 json 数据的主要内容,如果未能解决你的问题,请参考以下文章

从 Firebase 检索数据并在另一个 Firebase 数据库参考中使用它

将对象序列化为 JSON

如何在html中检索Django表单对象以便以后使用AJAX

如何在 ios 中使用 json 解析获取数据并在另一个页面中显示结果?

将从 spring-boot 检索到的数据转换为 JSON 并在 Angular 前端获取它

单击一帧中的链接并在另一帧中显示 JSP