-1

我最初使用以下 PHP 代码将表单上的所有项目保存在表格的“文本”字段中:

$the_field = json_encode($_POST);

现在我必须让它自动保存 POST 表单(进行更改时)。

$.post("ajax.php?"+$("#form_id").serialize(),
                          { id: '<?php echo $id;?>' },
                     function(data){});

ajax.php 包含以下代码:

$the_field = json_encode($_GET);

这与最初使用 json_encode 和 $_POST 的结果相同。

在我的服务器上,似乎有 100 个 $_GET 项目的限制,包括数组中的项目,无论这些项目是一个字符长还是 50+ 个字符长。

此限制适用于原始页面,也适用于 ajax.php

我想知道是否有一种替代方法在涉及紧凑代码时没有这种限制性限制。它应该允许数组...例如 name="var['.$x.']['.$y.']"

4

2 回答 2

1

您可以使用 javascript序列化()表单并将任何对象编码为 json。

查看JSON.stringify()parse_str()

根据 OP 请求进行编辑:

解决方案:

$.post("ajax.php", { data: $("#the_form").serialize()}

对于 ajax.php:

parse_str($_POST['data'], $data_obj);
于 2013-03-26T09:43:39.703 回答
0

但你可以尝试json

$.post("ajax.php", { id: '<?php echo $id;?>', data: $("#form_id").serialize()}, function(data){
   console.log(data);
}, "json");
于 2013-03-26T09:48:30.960 回答