将数据视图与数据库同步

时间:2017-04-07 21:58:26

标签: javascript ajax slickgrid

我正在使用带有Dataview的Slickgrid编辑最多5000行的表,使用Laravel从MySQL数据库获取数据。我创建了一个AJAX保存功能,可以将所有数据保存到数据库中,但运行速度非常慢,并冻结网格几秒钟:

python  0_log_cleaner.py --sp original_logs/ --dp clean_logs/ --od CNAME --nd New_CNAME --oan 10208 --nan NewAN

Options:
  -h, --help       show this help message and exit
  --sp=PATH        Path to the source logs ie original_logs/
  --dp=DST_PATH    Path to where sanitized logs will be written to ie
                   clean_logs
  --od=ORG_PHRASE  original domain name ie www.clientName.com, use the command
                   -od clientName
  --nd=NEW_PHRASE  domain name to replace -od. ie -od clientName -nd domain
                   makes all log that use to be www.clientName.com into
                   www.domain.com
  --oan=ORG_AN     original AN number
  --nan=NEW_AN     AN number to replace original. ie -oan 12345 -nan AAAA1
                   replaces all instances of the AN number 12345 with AAAA1

有没有一种方法可以在不冻结的情况下保存数据?我想过使用grid.onClick或onBeforeEditCell并在每次更改时单独保存每一行,但插入一行等函数会更改插入下面每一行的“order”值。

保持Dataview和数据库同步的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

这是一个复杂的问题 首先,ajax调用应该是异步的,因此它不应该阻塞5秒 但是,如果要将所有5000行传递到服务器,则JSON编码可能需要一段时间。您最好只将更改的行传递给服务器。 然而,这本身就比它看起来要复杂得多。

您可能最好使用现有框架来为您处理数据。 微风是个不错的选择。