使用Ajax发布数组,但PHP获取字符串

问题描述

我要发布几个从Ajax到PHP的变量,其中一个是数组。但是,PHP看到的是字符串而不是数组。我不知道怎么了。

在Firefox开发者控制台中看到的Ajax字符串:

表格数据:

id=106
category_name=windows
category_friendly_name=Windows+product
show_for_ids=4
show_for_ids=7
show_for_ids=10
show_for_ids=12
is_admin_only=0
action=edit

请求有效载荷

id=106&category_name=windows&category_friendly_name=Windows+product&show_for_ids=4&show_for_ids=7&show_for_ids=10&show_for_ids=12&is_admin_only=0&action=edit

PHP

var_dump($_POST['show_for_ids']);

输出

string(2) "12"

使用Multi-select plugin for TableEditJquery-multi-select

我想念什么?

解决方法

感谢@u_mulder评论,我通过修改jquery-tabledit第140行的Github提供的代码来解决了这个问题。

我改变了

input = '<select class="multiSelect tabledit-input ' + settings.inputClass + '" name="' + settings.columns.editable[i][1] + '" style="display: none; width:auto;" disabled multiple >';

进入

var input = '<select class="multiSelect tabledit-input ' + settings.inputClass + '" name="' + settings.columns.editable[i][1] + '[]" style="display: none; width:auto;" disabled multiple >';