HTML,带有节点js的Javascript传递变量

时间:2019-01-21 12:03:31

标签: javascript html node.js

因此,我正在使用Node js编程后端,该js为我提供了有关视频游戏的数据。现在,我已经在搜索页面上工作了,该页面提供了一些结果,但是下一步是能够单击其中一个结果,并将其转到该游戏的特定页面。

function ok() {
   let search = input.value;
    fetch("http://localhost:3000/search?search=" + search, {})
        .then((response) => {
            return response.json();
        })
        .then((response) => {
            for(let n = 0; n < response.length; n++){help[n] = response[n]["name"];}
            fetch("http://localhost:3000/cover?search=" + response[0]["id"],{})
                .then((response)=>{
                    return response.json();
                })
                .then((response)=> {
                    name1.innerText = "\n" + help[0];
                    img1.src = response[0]["url"];
                 });
            fetch("http://localhost:3000/cover?search=" + response[1]["id"],{})
                .then((response)=>{
                    return response.json();
                })
                .then((response)=> {
                    name2.innerText = "\n" + help[1];
                    img2.src = response[0]["url"];
                });
            fetch("http://localhost:3000/cover?search=" + response[2]["id"],{})
                .then((response)=>{
                    return response.json();
                })
                .then((response)=> {
                    name3.innerText = "\n" + help[2];
                    img3.src = response[0]["url"];
                });
            fetch("http://localhost:3000/cover?search=" + response[3]["id"],{})
                .then((response)=>{
                    return response.json();
                })
                .then((response)=> {
                    name4.innerText = "\n" + help[3];
                    img4.src = response[0]["url"];
                })
        })
}

在这里,我只是从API中获取数据,效果很好,但问题是我在图像上遇到了onclick事件,将我带到带有新javascript文件的新html文件中。这也可以,但是我需要第一个javascript文件中的一些变量,以便可以访问在新javascript文件中单击的游戏上的特定数据。例如,如果我单击img,我将发送到新的html文件,但是在新的javascript文件中,我将需要帮助变量来访问被单击的游戏的名称。

1 个答案:

答案 0 :(得分:0)

有几种方法可以完成此操作,但是一种简单的方法是使用浏览器的localStorage。只需保存您需要的有关click事件的任何信息,只要下一页仍然位于同一域中,当下一页呈现时,这些信息仍将存在。

localStorage.setItem("game", event.target.innerText);

然后在下一页上使用以下方法检索值:

var nameOfGame = localStorage.getItem("game");