php在javascript对象的jquery ajax post后返回null

php在javascript对象的jquery ajax post后返回null,php,jquery,ajax,Php,Jquery,Ajax,试图将javascript对象传递给php并出现此错误。我做错了什么 var address = {}; address.whatever = "asdf"; $.ajax({ type: 'post', url: '/resources/scripts/php/whatever.php', data: 'address=' + JSON.stringify(address), success:

试图将javascript对象传递给php并出现此错误。我做错了什么

var address = {};

address.whatever = "asdf";

$.ajax({
            type: 'post',
            url: '/resources/scripts/php/whatever.php',
            data: 'address=' + JSON.stringify(address),
            success: function(returnedData){
                console.log(returnedData);
            },
            error: function (xhr, tst, err) {
                console.log(err);
            },          
        });
php

控制台:
null

谢谢你的洞察力

$.ajax({
            type: 'post',
            url: '/resources/scripts/php/whatever.php',
            data: {address : address},
            success: function(returnedData){
                console.log(returnedData);
            },
            error: function (xhr, tst, err) {
                console.log(err);
            }          
        });
试试这个

$.ajax({
        type: 'post',
        url: '/resources/scripts/php/whatever.php',
        data: {'address' : JSON.stringify(address)},
        success: function(returnedData){
            console.log(returnedData);
        },
        error: function (xhr, tst, err) {
            console.log(err);
        },          
    });
PHP:


不需要JSON.stringify。jQuery会为您处理它

与:

$.ajax({
    type: 'post',
    url: '/resources/scripts/php/whatever.php',
    data: {address: address},
    success: function(returnedData){
        console.log(returnedData);
    },
    error: function (xhr, tst, err) {
        console.log(err);
    },
});
您可以使用:

echo $_POST['address']['whatever'] // output asdf
应该是:

 echo $_POST["whatever"];
 data: JSON.stringify(address),

应该是:

 echo $_POST["whatever"];
 data: JSON.stringify(address),

犯了一些愚蠢的错误。没有关系。感谢您的关注。在您的PHP代码中,您是指
echo json_encode($s)真的吗?谢谢甚至在IE中?(我读到早期版本在JSON方面有问题)。另外,为什么使用stringify不喜欢在它周围加一个外壳呢?如果有道理的话……是的。对象必须是键/值对。如果value是数组,jQuery将基于传统设置的值(如下所述)使用相同的键序列化多个值。资料来源:
data: 'address=' + JSON.stringify(address),
 data: JSON.stringify(address),