我遇到了这样的问题。场景如下:例如,如果我有一个数据库表 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/