gpt4 book ai didi

javascript - 在 sessionStorage.setitem 中存储值时仅获取最后输入的值

转载 作者:行者123 更新时间:2023-12-02 23:36:24 27 4
gpt4 key购买 nike

好吧,假设我在 HTML 页面中输入这两个值:20、30。

我有这两个变量,我从 HTML 页面获取值,并且工作正常,因此 BrugerFugt=20 和 BrugerTemp=30:

    BrugerFugt = document.getElementById("40").value;
BrugerTemp = document.getElementById("41").value;

然后我采用这两个变量并使用 setItem。

    sessionStorage.setItem("BF", JSON.stringify(BrugerFugt));
sessionStorage.setItem("BT", JSON.stringify(BrugerTemp));

此时,如果我 console.log(JSON.stringify(BrugerFugt)),它会打印 20,这是应该的。

现在我想将其发送到我的服务器,所以我调用这个变量:

  serverConnection.send(JSON.stringify(SetBruger));

我已经定义了这个变量,并将其发送到我的服务器。

var SetBruger = {
command: "BrugerIndtastTF",
brugerT: sessionStorage.getItem("BT"),
brugerF: sessionStorage.getItem("BF")
}

然后我尝试打印 JSON.stringify(SetBruger),但它打印的是我在 HTML 网络上输入的最后一个值,而不是新值。假设在输入 20 和 30 之前,我输入了 40 和 60 之类的内容。然后,当我在输入 20 和 30 后打印 SetBruger 时,我会在终端中看到此打印内容。

test: {"command":"BrugerIndtastTF","brugerT":"\"40\"","brugerF":"\"60\""}

这就像当我 JSON.stringify(SetBruger) 时出现问题?

最佳答案

您的对象属性在创建对象时设置。

var SetBruger = {
command: "BrugerIndtastTF",
brugerT: sessionStorage.getItem("BT"), // set when object is created
brugerF: sessionStorage.getItem("BF") // set when object is created
}

您可以使用辅助函数包装该对象,该函数在返回之前更新该对象,或者将其替换为返回新创建的对象的函数,其中包含来自 sessionStorage 的值,如下所示:

function SetBruger() {
return {
command: "BrugerIndtastTF",
brugerT: sessionStorage.getItem("BT"),
brugerF: sessionStorage.getItem("BF")
}
}
serverConnection.send(JSON.stringify(SetBruger));

为了能够重用该对象并更新它的其他属性,使用 localstorage 的内容更新这两个属性的辅助函数将是一个很好的解决方案。

var SetBruger = {
command: "BrugerIndtastTF",
brugerT: sessionStorage.getItem("BT"), // set when object is created
brugerF: sessionStorage.getItem("BF") // set when object is created
}

// Other code that maybe modify the object

function updateBrugerObject() {
SetBruger.brugerT = sessionStorage.getItem("BT");
SetBruger.brugerF = sessionStorage.getItem("BF");
}

updateBrugerObject();
serverConnection.send(JSON.stringify(SetBruger));

最适合您的解决方案是什么,取决于您计划使用该对象的方式和位置。

关于javascript - 在 sessionStorage.setitem 中存储值时仅获取最后输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56276568/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com