我试图使用Jquery的AJAX将数据数组传递给PHP脚本;这是我的JS:
var dataObject = {
shippingDataRow: [{
name: $('#shippingData_name').val(),
street: $('#shippingData_street').val(),
number: $('#shippingData_number').val(),
}]
};
$.ajax({
type: "post",
data: { action: 'test', data: dataObject },
cache: false,
url: "php/post_test.php",
});
这是PHP(在我编写所有程序之前只做一些测试),
<?php
function test(){
$dataObject = $_POST['dataObject'];
print_r( $dataObject );
}
?>
在Chrome的开发者工具中,我可以看到状态代码:200 OK;即使所有数组都具有正确的值,但是当我打开php时它不起作用。
有什么想法吗?
答案 0 :(得分:1)
尝试:$dataObject = $_POST['data'];
您需要参考发布数据的关键字,而不是javascript中的值。
答案 1 :(得分:0)
变化:
$dataObject = $_POST['dataObject'];
要:
$dataObject = $_POST['data'];
答案 2 :(得分:0)
你的帖子应该是
$_POST['data'];
答案 3 :(得分:0)
你没有在任何地方调用test()。因此,它的cuess返回200ok但是在test_php中检查null.echo中的任何内容并检查。
答案 4 :(得分:0)
var dataObject = {
shippingDataRow: {
name: $('#shippingData_name').val(),
street: $('#shippingData_street').val(),
number: $('#shippingData_number').val()
}
};
$.ajax({
type: "post",
data: { action: 'test', data: dataObject },
cache: false,
url: "php/post_test.php"
});
-
<?php
$dataObject = $_POST['data'];
print_r( $dataObject );
?>
答案 5 :(得分:0)
正如其他人提到的,$ _POST ['data']将为您提供数据数组。
另外,使用$ _REQUEST效果很好,因为它会同时定位get / post请求。