gpt4 book ai didi

php - 如何使用 jQuery 发送 JSON 对象数组

转载 作者:行者123 更新时间:2023-11-30 18:37:18 27 4
gpt4 key购买 nike

我正在编写一个网页,但我一直在尝试将一个 JSON 对象数组发送到我的 PHP 后端脚本。

这是我的 javascript 代码(使用 jQuery):

            var toSend = new Array();
$("input[type=checkbox]").each(
function (indice, item)
{
var dom = $(item);
var domJSON = {
id: dom.attr("value"),
checked: (dom.attr("checked") == "checked" ? true : false)
};
//put object as JSON in array:
toSend.push($.toJSON(domJSON));
}
);
$.ajax({
type:"POST",
url: "salvar_escala.php",
data: {checkbox: toSend},
success: function(response) {
$("#div_salvar").html(response);
},
error: function() {
alert("Erro");
}
}
);

在 PHP 中我有这个:

    //Grab the array
$arrayFromAjax = $_POST['checkbox'];

foreach($arrayFromAjax as $aux) {
$temp = json_decode($aux, true);
$id = $temp['id'];
$value = $temp['checked'];

//This line doesn't print anything for $id and $value
echo "Id: $id | Value: $value<br />";

//This line prints an crazy string, but with right values
echo "CHEKBOX[] => $b<br />";
}

在这段代码中,我将我的对象解码为 json,然后放入一个数组中并发送。我也试过但数组中的对象(没有 json),然后将数组转换为 json,然后像这样发送它们:

            $.ajax({
type:"POST",
url: "salvar_escala.php",
dataType: "json",
data: {checkbox: $.toJSON(toSend)},
success: function(response) {
$("#div_salvar").html(response);
},
error: function() {
alert("Erro");
}
}
);

但在这种情况下,更糟糕的是,调用了错误函数。

最佳答案

您应该能够在 PHP 中执行以下操作

<?php
$checkboxes = json_decode($_POST['checkbox']);
foreach($checkboxes as $checkbox) {
$id = $checkbox['id'];
$val = $checkbox['value'];
print $id . ': ' . $val;
}

问题是您试图在不首先将 JSON 字符串解码为 PHP 数组的情况下循环遍历它。

关于php - 如何使用 jQuery 发送 JSON 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7878771/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com