繁体   English   中英

从jQuery的AJAX向PHP传递数据时出现问题

[英]Problems passing data to PHP from jQuery's AJAX

我试图使用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时都行不通。

有任何想法吗?

试试: $dataObject = $_POST['data'];

您需要引用发布数据的键,而不是javascript中的值。

更改:

$dataObject = $_POST['dataObject'];

至:

$dataObject = $_POST['data'];

您的帖子应该是

$_POST['data'];

您没有在任何地方调用test()。so,它的提示返回200ok但响应为null。在test_php中回显任何内容并检查。

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 );
?>

正如其他人提到的那样,$ _POST ['data']将为您获取数据数组。

另外,使用$ _REQUEST效果很好,因为它将同时针对get / post请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM