我正在尝试将数组的值传递给php,但我无法获取值。它返回NULL,当我使用var_dump()时它返回array(1){[0] => string(0)“”}数组([0] =>)
这里是代码:
$("#submit").click(function () {
var newhour= [];
for (var i = 0; i < arrayNumbers.length; i++) {
newhour.push(arrayNumbers[i].toString().split(','));
console.log("each: " + newhour[i]); // output: each: 07:00,08:30
each: 18:00,19:00
}
console.log("all: " + newhour); //output: all: 07:00,08:30,18:00,19:00
var jsonx = JSON.stringify(newhour);
console.log("x: " +jsonx); // output: x: [["07:00","08:30"],["18:00","19:00"]]
$.ajax({
type: "POST",
url: "hour.php",
data:{data: jsonx},
cache: false,
success: function(){
alert("OK");
}
});
});
hour.php文件包括:
$data = json_decode($_POST['data'],true);
//$data = json_decode(($_POST['data']));
//$data = explode(",", $_POST['data']);
//$data = $_POST['data'];
echo "data: " .$data;
var_dump($data);
foreach($data as $d){
echo $d;
}
我挣扎了几个小时,我尝试了一切,但没有得到任何价值。 我不明白我哪里错了。 你能帮我解决一下我的代码吗? 提前谢谢。
答案 0 :(得分:0)
对我来说很好 这是我用于arrayNumbers的数据
var arrayNumbers = [1, 591, 283, 12];
这是返回数据
data: Arrayarray(4) {
[0]=> array(1) { [0]=> string(1) "1" }
[1]=> array(1) { [0]=> string(3) "591" }
[2]=> array(1) { [0]=> string(3) "283" }
[3]=> array(1) { [0]=> string(2) "12" }
} ArrayArrayArrayArray
编辑:刚为arrayNumbers尝试了几个不同的值。当我使用var arrayNumbers = [""];
时,我得到了确切的回报。检查您正在使用的值,因为这就是问题所在。
注意:我还必须发表评论each: 18:00,19:00
,但我认为您已经对此进行了评论并将其复制错误