Javascript 在web应用程序中存储数据

Javascript 在web应用程序中存储数据,javascript,storage,Javascript,Storage,我是一名高中生,正在创建一个相当简单的类似测验的应用程序,试图学习更多关于编码的知识。我的应用程序目标是让用户回答几个问题,每个问题的答案都与一个值关联,最终结果将是所有值的总和 我只是不知道如何存储用户选择的数据/值,以便以后使用它们来创建最终总和。我是否应该将每个值与稍后使用的变量相关联?如果是,怎么做 下面是我理想测验中的一个示例问题: 函数更改文本(值){ document.getElementById('count')。value=100*value; } 个人信息 能力 新手 中间

我是一名高中生,正在创建一个相当简单的类似测验的应用程序,试图学习更多关于编码的知识。我的应用程序目标是让用户回答几个问题,每个问题的答案都与一个值关联,最终结果将是所有值的总和

我只是不知道如何存储用户选择的数据/值,以便以后使用它们来创建最终总和。我是否应该将每个值与稍后使用的变量相关联?如果是,怎么做

下面是我理想测验中的一个示例问题:

函数更改文本(值){
document.getElementById('count')。value=100*value;
}
个人信息
能力
新手
中间的
先进的
受伤可能性(%)

存储的要求是什么

  • 您想将数据存储在本地还是服务器端
  • 它应该是安全的吗?数据库后端密码保护
  • 您认为需要多少存储空间
  • 数据必须是持久的吗
如果您对最大5mb的半持久性存储感到满意,请选择不安全存储的客户端:Localstorage或IndexedDB(200mb)

如果你想保护你的数据,你必须创建一个像MySQL这样的数据库和一些后端控制器来处理来自web应用程序的请求


我认为本地存储是您的最佳选择:)

您可以使用Javascripts本地存储对象。您的值将在浏览器中存储任意时间,或者删除浏览器

查看有关Web存储的更多信息:

localStorage对象

localStorage对象存储的数据没有过期日期。这个 关闭浏览器时,数据不会被删除,而是会被删除 可在第二天、第二周或第二年使用

例如:


为什么不使用javaScript对象在前端存储数据呢。 您可以通过在服务器上使用json编码来直接传递该对象,以将其存储到数据库中。 例如:

var g_obj = new Object();
g_obj.level = new Object();
g_obj.level.diff = "Beginner";
g_obj.level.injury = "50";
g_obj.answers = new Array();
g_obj.answers[0] = new Object();
g_obj.answers[0].id = "1";
g_obj.answers[0].correct = "1";
g_obj.answers[0].marks = 10;
g_obj.answers[1] = new Object();
g_obj.answers[1].id = "2";
g_obj.answers[1].correct = "0";
g_obj.answers[1].marks = 10;
g_obj.answers[2] = new Object();
g_obj.answers[2].id = "3";
g_obj.answers[2].correct = "1";
g_obj.answers[2].marks = 15;

请尽量不要做个聪明人。对那些只学基础知识的人来说,向他们抛出大量的元问题并没有多大帮助。这是高中的任务,不是麻省理工学院的论文@mondjunge你在侮辱我吗?我给了他可能的网络存储的基本选择。我没有问他想要什么样的数据存储引擎或数据库结构。保持冷静,让提问者要求澄清,如果他想澄清的话。这不是一个帮助台。但它们不是“基本选项”。不是高中的项目。一个基本的选择是将数据存储在localStorage中,甚至存储到文件中。@com2ghz:不,我正在帮助您改进您的答案风格,这样您以后就不会被否决。如果我想侮辱你,我可以说明为什么要求“本地或客户端存储”是完全错误的(WTF是本地存储还是客户端存储?),或者db密码保护有什么安全性,或者当你要求“多个存储”时,你应该问“多少存储”或者,在询问数据的持久性是否是强制性的时,您可能没有阅读该问题。我是否应该继续,或者你是否同意“不要做一个聪明人”是一个很好的表达方式。我会使用这里提到的对象/数组和JavaScript会话存储或本地存储的组合,以便在用户进行测验时建立问题结果的存储。请记住,如果您使用sessionStorage,如果浏览器关闭,您的数据将丢失。正确!!!对于创建在线测试场景,我建议您创建ajax调用,并在用户每次选择答案或单击下一个问题时将其存储到数据库中。这样创建的对象可用于执行此操作。在这种情况下,即使用户关闭浏览器并返回,您始终可以重新填充从数据库创建的对象。您还可以通过序列化将json解码的数组对象存储到数据库中…嘿,有很多选项可供您选择。。。按你的方式做。。。
var g_obj = new Object();
g_obj.level = new Object();
g_obj.level.diff = "Beginner";
g_obj.level.injury = "50";
g_obj.answers = new Array();
g_obj.answers[0] = new Object();
g_obj.answers[0].id = "1";
g_obj.answers[0].correct = "1";
g_obj.answers[0].marks = 10;
g_obj.answers[1] = new Object();
g_obj.answers[1].id = "2";
g_obj.answers[1].correct = "0";
g_obj.answers[1].marks = 10;
g_obj.answers[2] = new Object();
g_obj.answers[2].id = "3";
g_obj.answers[2].correct = "1";
g_obj.answers[2].marks = 15;