0

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

$whatever = json_decode($_POST['address']);
 echo json_decode($address);

コンソール: null

洞察に感謝します!

4

4 に答える 4

1
$whatever = json_decode($_POST['address']);
echo json_decode($address);

次のようにする必要があります。

 echo $_POST["whatever"];

data: 'address=' + JSON.stringify(address),

次のようにする必要があります。

 data: JSON.stringify(address),
于 2012-10-24T17:38:16.863 に答える
0
$.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);
            }          
        });

これを試して

于 2012-10-24T17:35:45.590 に答える
0

試す

$.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:

 $address = json_decode($_POST['address']);
 echo $address['whatever'];
于 2012-10-24T17:37:04.770 に答える
0

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
于 2012-10-24T17:37:53.537 に答える