Я заметил, что в CodeIgniter метод .serialize может создавать данные, которые загрязняются защитой CSRF CodeIgniter (CodeIgniter каким-то образом добавляет точки с запятой к ключам массива), тогда как формы, которые я отправлял с помощью .serializeArray, не делали этого. есть эта проблема.
Кроме того, если вы используете сложные имена POST, например, name = "some [a] [data] [structure]", где места в массиве $ _POST меняются и не являются произвольными, тогда использование .serialize, вероятно, будет намного проще, потому что вы можете преобразовать его обратно в структуру данных PHP гораздо больше легко.