我最初使用以下PHP代码将表单上的所有项目保存在表格的“TEXT”字段中:
$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 = “变种[ '$ X '] ['。$ y的。']”
答案 0 :(得分:1)
您可以使用javascript将serialize()表单并将任何对象编码为json。
查看JSON.stringify()和parse_str()
在OPs请求上编辑:
解决方案:
$.post("ajax.php", { data: $("#the_form").serialize()}
和ajax.php:
parse_str($_POST['data'], $data_obj);
答案 1 :(得分:0)
但您可以尝试json
:
$.post("ajax.php", { id: '<?php echo $id;?>', data: $("#form_id").serialize()}, function(data){
console.log(data);
}, "json");