【发布时间】:2020-12-21 00:01:38
【问题描述】:
我将几个变量从 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 TableEdit 和Jquery-multi-select
我错过了什么?
【问题讨论】:
-
对于数组,您的数据必须是
show_for_ids[]=4 show_for_ids[]=7等。当前下一个值只是覆盖了上一个。可能你在name属性中忘记了[]。 -
@charlietfl 标题是 AJAX 并且有一个
ajax标签。 -
展示如何创建有效负载。如果使用
data的对象,它应该被 jQuery 正确序列化,这样你就会收到一个数组 -
谢谢,我必须修改
jquery-tabledit才能让它工作