Handsontable 最大。使用 AJAX 发布的行

Posted

技术标签:

【中文标题】Handsontable 最大。使用 AJAX 发布的行【英文标题】:Handsontable max. rows to post with AJAX 【发布时间】:2014-12-25 12:47:45 【问题描述】:

我使用 Handontable 和 AJAX 将整个表作为 JSON 发布到 php 脚本,该脚本将数据保存在数据库中。效果很好!

但是最大行数是 334。如果我尝试添加更多行,它将在第 334 行停止。如果我计算 JSON 对象中的行数,它会给我正确的数字,但如果我计算服务器端的行数在 $_POST 变量中它给了我 334。

var data = "data":$('#spreadsheet').handsontable('getData');
alert(data.data.length);

返回正确的数字。

Log::info(count(Input::get('data')));

服务器端返回最大值。 334.

Firebug 说:已达到帖子响应的大小限制。

但是,如果我在表中添加更多列,则限制仍然是 334。所以它不是以字节为单位的大小,而是更准确地说是行数。

还有线索发生了什么以及如何解决它?

【问题讨论】:

您的 334 行表有多少列? PHP 中的 max_input_vars 配置是什么? 【参考方案1】:

试试这个:

Javascript:

var _data = handsontable.getData();

$.ajax(
   data: "data":JSON.stringify(_data),
   .
   .
   .
);

PHP:

$data=isset($_POST['data'])?$_POST['data']:"";

$temp_data = str_replace('\\', "",$data);

$data=json_decode($data,true);

vardump($data);

【讨论】:

【参考方案2】:

增加服务器 php.ini 文件中的 max_input_vars。

我遇到了同样的问题。

【讨论】:

以上是关于Handsontable 最大。使用 AJAX 发布的行的主要内容,如果未能解决你的问题,请参考以下文章

如何在handsontable中使用ajax获取多个值

计算不适用于 Handsontable 中使用 AJAX 的自定义单元格渲染

AJAX 未将 Handsontable 数据传递给控制器

从启用 AJAX 的 WCF 服务加载 Handsontable

Handsontable 通过 json/ajax 对来自后端数据库的数据进行排序

如何将 Handsontable 数据转换回 C# 类