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

标签 javascript jquery jsp

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

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

希望你能帮帮我。 提前致谢。 PS:我正在使用 JSP 并且...对不起我的英语

最佳答案

当然,因为它是一个表,所以有一个对象数组是有意义的。请注意,对象用花括号括起来,数组用方括号括起来:

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'

在现代浏览器上,如果您希望数据在 session 间持久保存(如 cookie),您可以使用 sessionStorage 或 localStorage 对象。

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

var data = JSON.stringify(table);

关于javascript - 如何在客户端存储临时数据,然后将其发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4329860/

相关文章:

javascript - 如何将输入字段设置为只读

javascript - Jquery使用字符串动态地按id选择对象

jquery - 通过 src 查找属性的值

java - 如何在使用java启动服务时写入日志文件

java - jsp中的表单内的表单

javascript - 如何在 AngularJS 中停止 $observe

javascript - 当提交按钮被隐藏时通过回车提交表单;在 Firefox 中工作,在 Chrome 中不执行任何操作

java - 根据权限限制对某些页面的访问

javascript - 为什么我的打印不起作用?

javascript - 无法在渲染时读取 null 的属性 'textContent'