首页 > 解决方案 > 使用 JS 在新页面上使用上一页的信息

问题描述

我是 Javascript 新手,我需要帮助弄清楚这个过程,或者至少弄清楚要使用什么方法。我真的不需要一个完整的解决方案,只需要一些关于前进方向的建议。

我有一个包含链接列表的页面。当用户点击任何链接时,他们会被定向到同一个 html 页面(“park.html”)。但是,该页面将根据用户单击的链接填充不同的信息。我将使用 JSON 和 Javascript 用信息填充“parks.html”,但我只需要为“park.html”提供某种类型的标识符,该标识符将根据单击的链接而有所不同。

我不确定是否使用事件侦听器、cookie 或 React?我尝试为每个链接提供一个事件监听器,该监听器调用一个函数,该函数使用“event.target.innerHTML”来获取用户单击的链接的文本。我也尝试过运行“park.html”的onload函数,但我不知道如何将点击的链接中的信息传递给该函数调用。

这是我创建链接列表的代码。“条目”是从 JSON 文件中提取的——该列表正在正确创建。

function appendToList(entry, resultsList) {
    let listElement = document.createElement("li");
    let listLink = document.createElement("a");
    listLink.setAttribute("href", "park.html");
    listLink.setAttribute("id", entry.fullName);
    listLink.appendChild(document.createTextNode(entry.fullName));

    listLink.addEventListener("click", () => {
        qVal = listLink.id;
        console.log(qVal);
        get_park_data(qVal);
    });

    listElement.appendChild(listLink);
    resultsList.appendChild(listElement);
    return resultsList;
}

我认为侦听器调用的函数 (get_park_data) 运行正常,但在列表所在的页面上运行 - 而不是列表元素链接到的页面。

那么,如何获取单击哪个链接以提供给被调用页面的标识符?

我会很感激任何见解!谢谢!

标签: javascriptdomdom-events

解决方案


为什么不在 URL 中使用查询参数?这要容易得多。您只需将其附加到 URL,并且每次用户单击链接时都可以更改它。


推荐阅读