JQuery - 坚持JSON更改

时间:2017-09-07 20:53:11

标签: jquery json database

我目前有两个javascript文件:一个只存储一个代表我的JSON数据的javascript变量,另一个是实际的JQuery代码。对于它的价值,这是我的包含JSON的javascript文件的样子:

var data = '[{"id":[1],"email":["admin"],"password":["admin"],"question":[null],"answer":[null]}]';

我的包含JQuery的javascript文件如下:

var email = $('#settings form input[type="email"]').val();
var password = $('#settings form input[type="password"]').val();
var question = $('#settings form select option:selected').text();
var answer = $('#settings form input[type="text"]').val();

if (email.trim() && password.trim() && question.trim() && answer.trim()) {
    jsonData[0].email[idIndex] = email;
    jsonData[0].password[idIndex] = password;
    jsonData[0].question[idIndex] = question;
    jsonData[0].answer[idIndex] = answer;

    $('#settings').modal('toggle');
} else {
    alert('None of the fields may be left blank.');
}

代码运行时将更新JSON,但刷新页面后,没有任何数据持续存在。

我的问题是,当JQuery更改其值时,如何才能使JSON数据保持不变?

1 个答案:

答案 0 :(得分:0)

这取决于您打算长期使用数据。如果您需要长时间存储它或同时使用多组数据,这意味着您必须将表单发布到在服务器上侦听的应用程序。如果您拥有这两个JavaScript文件并直接从nginx或Apache提供它们或者您有什么,那么您将需要构建一个小型服务器应用程序,因为它不属于-box web服务器不知道如何处理您的数据。 Node.js是一个很好的选择,特别是如果你想坚持使用JavaScript。

无论如何,一旦你在后端听到一些东西,你可以通过提交按钮或jQuery.ajax发布表格(如果你不知道你应该做什么,去找前者)并拥有服务器将其存储在数据库中。从那里开始,世界就是你的牡蛎:你可以将数据拉出来,切片并切块,运送它的人知道哪里。

有许多不同类型的数据库。大多数是专门为一个目的或另一个目的;如果您没有特定的需求,关系系列(PostgreSQL,SQL Server,MySQL)是最通用的。

如果您只想在一次会话中非常简短地保留它并且不关心其他任何内容,那么您可以使用浏览器local storage。我怀疑这不是你想要的,但它在技术上满足了你的问题而且它更简单。