Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在客户端存储临时数据,然后将其发送到服务器_Javascript_Jquery_Jsp - Fatal编程技术网

Javascript 如何在客户端存储临时数据,然后将其发送到服务器

Javascript 如何在客户端存储临时数据,然后将其发送到服务器,javascript,jquery,jsp,Javascript,Jquery,Jsp,我需要在客户端临时存储数据,以允许用户添加、编辑或删除项目,而无需查询服务器的每个操作;当用户完成添加项目并单击添加按钮时,列表将发送到服务器以永久保存 这描述了我想要实现的目标。 我知道我必须在JavaScript中使用数组,但我不知道如何创建一个数组来存储对象(在本例中为Detail,其中包含:id、price和description) 我希望你能帮助我。 提前谢谢。 PS:我正在使用JSP和。。。对不起,我的英语听起来不错。您可以使用对象文字轻松创建自定义细节对象数组: var detai

我需要在客户端临时存储数据,以允许用户添加、编辑或删除项目,而无需查询服务器的每个操作;当用户完成添加项目并单击添加按钮时,列表将发送到服务器以永久保存

这描述了我想要实现的目标。 我知道我必须在JavaScript中使用数组,但我不知道如何创建一个数组来存储对象(在本例中为Detail,其中包含:id、price和description)

我希望你能帮助我。 提前谢谢。
PS:我正在使用JSP和。。。对不起,我的英语听起来不错。

您可以使用对象文字轻松创建自定义细节对象数组:

var details = [];
details.push({id:'abc1234', price:999.99, description:'Tesla Roadster'});
details.push({id:'xyz5678', price:129.99, description:'Land Rover'});

然后,当用户单击“添加”时,您可以将数据发布到服务器。

当然,因为它是一个表,所以有一个对象数组是有意义的。请注意,对象由花括号包围,数组由括号包围:

var myArray = [];  // Initialize empty array
var myObject = {}; // Initialize empty object
这应该可以满足您的需要:

// Initialize variables
var newEntry, table = [];

// Create a new object
newEntry = {
  id: '',
  price: '',
  description: ''
};

// Add the object to the end of the array
table.push(newEntry);
与此相同:

// Initialize array
var table = [];

// Create object and add the object to the end of the array
table.push({
  id: '22',
  price: '$222',
  description: 'Foo'
});
您现在可以访问如下属性: 表[0]。id;//'22'

在现代浏览器上,如果希望数据在会话(如cookie)之间持久化,可以使用sessionStorage或localStorage对象

当您想要将数据发送到服务器时,您将通过网络发送JSON版本的表:

var data = JSON.stringify(table);

你可以使用像jsp这样的对象数组,我很快会给你举个例子。看这个例子……如果你通过ajax与后端交互,jsonp是发送对象数组的最佳选择。值得一提的是,
JSON。stringify
不是大多数已安装浏览器的标准功能,为了确保它在那里,OP应该使用类似的JSON库。