如何保存设置了变量值的js文件



我是一个初学者,所以我缺乏合适的词汇来清楚地表达我想尝试的内容,或者搜索它,这样才能找到正确的答案。但我会尽力解释:

我有一个简单的javascript应用程序,它有一堆变量,根据初始用户的选择,这些变量通过jQueryajax填充了数据库中的值。现在,一旦应用程序正确加载了从数据库检索到的所有值,我想将其保存在这种状态下以供脱机使用。

如果我对所有变量值进行硬编码,那么在没有互联网接入的情况下,应用程序会很好地工作,但由于它们取决于启动时的用户选择,因此这不是一个真正的选项。所以我想,也许我可以把加载的状态保存为一个js文件。有这样的技术吗?

我的后备解决方案是在用户单击";下载以供离线使用";。就像将js文件的副本保存为一个字符串,其中包含变量值的占位符,然后在用户做出初始选择后用数据库中的值替换它们。但说实话,我觉得必须有一个更优雅的解决方案。

在浏览器Javascript中,由于安全原因,您无法保存文件。然而,有一个名为localStorage的API,它允许您在浏览器中存储持久信息。您可以将所有变量放入Object中,将其字符串化为JSON,然后将其保存在localStorage中,然后通过解析JSON:来检索它们

// saving variables
var myVariables = {a: 1, b: "foo", c: [4, 5, 6]};
localStorage.setItem("vars", JSON.stringify(myVariables));
// retrieving variables
var retrievedVariables = JSON.parse(localStorage.getItem("vars"));
console.log(retrievedVariables.b); // "foo"

最新更新