У меня есть список <ul>
статей <li>
и обработчик событий на кнопке.
При нажатии кнопки я суммирую все <li>
s ID (целое число), используя:
data.articles = $('#category-articles').sortable('toArray'); // alerts 1298 alert(data.articles.length); $.post(....);
На сервере:
<?php // echoes 968 echo sizeof($_POST['articles']);
Пояснение:
data.articles
$_POST['articles']
Данные теряются во время действия публикации. Между фактическим сообщением и целевым PHP не существует кода, который мог бы фильтровать или удалять любые элементы.
Я использую apache и PHP 5.3.
Запрос:
Content-Length: up to 80,000 bytes
Сервер:
post_max_size = 100M upload_max_filesize = 100M
Я включил отчет об ошибках, но он просто сжимает мой массив, и я не понимаю, почему он не отправил полные данные. У кого-то есть идея?
Дубликат массива отрубается над ajax-сообщением. Лимит размещения Ajax? ?
Предполагает, что это связано с max_input_vars PHP:
Этот предел применяется только к каждому уровню вложенности многомерного входного массива.
Чтобы решить эту проблему без изменения конфигурации сервера:
// 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']);
Ограничивающий символ ;
не должно появляться внутри элементов, выбрал другой символ, если это проблема.