数据在$。员额迷路(Data is getting lost during $.post)

2019-10-20 10:34发布

我有一个列表<ul>的文章<li>和上一个按钮的事件处理程序。

当点击该按钮时,我聚集所有<li>使用的ID(整数):

data.articles  = $('#category-articles').sortable('toArray');

// alerts 1298
alert(data.articles.length);

$.post(....);

在服务器端:

<?php
// echoes 968
echo sizeof($_POST['articles']);

这就很清楚:

  • 试图在一个阵列发送1298data.articles
  • 在阵列中仅接收到第一968$_POST['articles']

数据后操作过程中迷路。 有实际岗位和目标PHP,可以过滤或删除任何项目之间的任何代码。

我使用Apache和PHP 5.3。

请求:

Content-Length: up to 80,000 bytes

服务器:

post_max_size = 100M
upload_max_filesize = 100M

我启用了错误报告,但它只是我的收缩阵列和我不明白为什么它不发送的全部数据。 任何人有一个想法?

Answer 1:

重复阵列被砍掉了AJAX的职位。 阿贾克斯发帖限制? ?

表明它与PHP的max_input_vars做:
这种限制仅适用于一个多维输入阵列的每个嵌套层。

为了解决这个问题,而无需编辑服务器的配置:

// Serialize the elements into a single var using join():

data.articles  = $('#category-articles').sortable('toArray').join(';');

而在服务器端:

// Unserializing the single variable back into an array:

$articles = explode(';', $_POST['articles']);

定界字符; 不能出现在元素中,选择了不同的角色,如果这是一个问题。



文章来源: Data is getting lost during $.post