在Javascript中正确格式化JSON数组
我正在编写一个简单的删除函数。此函数用于删除PHP输出的列表中的条目。情况就是这样:在Javascript中正确格式化JSON数组,javascript,php,jquery,arrays,json,Javascript,Php,Jquery,Arrays,Json,我正在编写一个简单的删除函数。此函数用于删除PHP输出的列表中的条目。情况就是这样: javascript选择此列表中的复选框并获取其ID 1、2、3等 使用JSON.stringify将创建的数组转换为JSON PHP获取POST并使用json_decode()对其进行解码(此操作失败) 我正在尝试将简单的Javascript数组转换为JSON。但是我认为JSON是无效的。当我提醒垃圾JSON变量时,这是输出:[“31”,“32”] 为了让现有的PHP按照您所期望的方式运行,您需要发送Tra
为了让现有的PHP按照您所期望的方式运行,您需要发送TrashJSON
,而不是TrashItems
TrashItems
是您填充的数组,而TrashJson
是TrashItems
的JSON编码版本
改变
data: {TrashItems:TrashItems},
到
jQuery正确地将TrashItems
解释为一个数组,从而将其作为一个值数组发送给PHP脚本
或者,正如Barmar在评论中推断的那样,您可以简单地循环当前发布为TrashItems
的值数组。您可以使用以下代码来完成此操作
foreach ($_POST['TrashItems'] as $TrashItem) {
echo "$TrashItem\n";
}
这将输出最初在单独一行中传入的TrashItems
数组的每个项,并提供..的输出
31
32
从jQuery向PHP发送数组时,不需要使用JSON。如果发送数组,jQuery将正确地对其进行URL编码,PHP将自动对其进行解码。
data: {TrashItems:TrashItems},
data: {TrashItems:TrashJSON},
foreach ($_POST['TrashItems'] as $TrashItem) {
echo "$TrashItem\n";
}
31
32