javascript - 将整个 html 表传回服务器并替换数据库表?

标签 javascript jquery ajax html-table

我遇到了这样的问题。场景如下:例如,如果我有一个数据库表 A,其中包含几列。一旦服务器(PHP 脚本)将数据库传递给 Web 客户端,它就会呈现为 HTML 表。现在,这是对客户端的一些要求。用户将能够从 HTML 表中添加/删除多行,此外,他们还能够更改行顺序。如果我们可以在一些 jquery 插件的帮助下完成客户端(例如: http://www.isocra.com/2008/02/table-drag-and-drop-jquery-plugin/ )。现在,我的问题是,如何将此信息传递回服务器?因为有新行和删除行,原来的表行顺序(像插件tableDnD.serialize函数是不够的)是不够的。

这是我的解决方案:将整个 HTML 表传回服务器,然后用信息替换整个数据库表。在这种情况下,如何将可能很大的 HTML 表传递回服务器?对于这个问题,我找到了这样的答案: Iterate through HTML table using jQuery, converting the data in the table into JSON 基本上,将整个 HTML 表格转换为 json 格式并将其传递到服务器端以替换整个表格。

还有比这更好的解决方案吗?任何建议,将不胜感激!

最佳答案

恕我直言,如果您正在构建纯 JavaScript 解决方案,则无需将整个 HTML 表传回服务器。

  • 最初加载表时,将 id 属性设置为SQL 表中行的唯一标识符
  • 更改数据(删除或添加行或更改行内容)时,将 ID 保存到数组中
  • 提交更改后的数据时,仅提交已更改的行

当然,您可能需要对此进行一些调整,但这只是一个一般想法。例如,要做的一项调整是将已删除行的 id 添加到单独的数组中。然后,您可以单独传递它以从数据库中删除匹配的行。

关于javascript - 将整个 html 表传回服务器并替换数据库表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3375334/

相关文章:

javascript - PHP 单击链接而不是行切换

javascript - .height(item.height()) jquery 在 IE 中太慢了!备择方案?

javascript - jQuery 设置 cookie 到 post 方法

javascript - 在 1 post 方法中执行 2 个函数

javascript - 按键分组,其中键是动态的

javascript - 可编辑表格(单击时删除文本并添加文本字段)触发次数过多

javascript - WordPress 插件未加载 Javascript 文件

asp.net - 来自服务器端代码的 asp.net 中的客户端模式对话框。 (我该怎么做呢)

javascript - jQuery 通过 1 次调用重新加载多个数据表

javascript - 如何将 Vuetify 对话框标题的位置固定到顶部并使按钮始终可见