我正在尝试将一个对象(我认为它的一个对象(它是一个带有值的索引数组的关联数组/字典))传递给PHP文件,以便我可以将数据插入到数据库中。每次我尝试在PHP中访问数组的内容时,它都会返回Array()或Array,具体取决于我尝试的内容。我也尝试过使用$.ajax()
,但会遇到同样的问题。
function postData()
{
data = JSON.stringify(dataObject);
alert(data);
$.post("submit_order.php",
data,
function(status){
alert(status)
window.location.href = "submit_order.php";
});
}
这是使用JSON.stringify()
{
"order":[
["2","chicken panini","3.95",1],
["1","cakes","3.55",1]
]
}
这就是我试图访问值和数据结构本身。如你所见,我尝试了各种各样的方法。
<?php
print_r($_POST);
echo $order[0][0];
echo $_POST['order'][0][0][1];
print_r($_POST['order'][0]);
print_r($_POST['order'][0][1]);
print_r($_POST['order'][0][0][1]);
foreach ($_POST as $key => $value) {
echo $key;
}
当我print_r($_POST);
它给了我
阵列()
{"order":[["2","chicken panini","3.95",1],["1","cakes","3.55",1],["3","big_cake","2.55",1]]}
与POST请求一起发送。
答案 0 :(得分:0)
您将数据作为JSON字符串传输 - 因此您必须在PHP端json_decode
。
<?php
print_r(json_decode($_POST['order']));
?>
答案 1 :(得分:0)
function postData()
{
data = JSON.stringify(dataObject);
$.post( "submit_order.php", function( data ) {
alert("success");
});
}
尝试此功能。
答案 2 :(得分:0)
在第二个参数的代码中,您必须在{}之间发送参数:
$.post( "submit_order.php", { data: data }, function(status){
alert(status)
window.location.href = "submit_order.php";
} );
答案 3 :(得分:-1)
<?php
if(!empty($_POST['order])){
$_POST['order] = json_decode($_POST['order]);
foreach($_POST['order'] as $order_key => $order_value){
echo $order_key ." =>". $order_value;
}
}
?>
试试这个:)