0

phpを使用してデータクエリをJavaScriptに渡して編集しようとしていますが、

私のajaxリクエストは次のようになります

var totalSearchResult=10;
$.ajax({
    url:"php/queryManipulation.php",
    type: 'POST',
    data: { totalQuery : totalSearchResult,  query : '{"data":{"match_all":{}}}'},

    success: function(finalList)
    {
        alert(finalList);
    }
});

私のPHPコードは次のようになります

<?php
$from=$_POST["totalQuery"];
$qry=json_decode($_POST["query"]);
$qry->from=$from;   }?>

私はそれを形で手に入れようとしています、

{"data": {"match_all": {}} , "from": 10}

エラーが発生しますObject of class stdClass could not be converted to string

4

3 に答える 3

3

編集:json_decodeの戻り値を配列からオブジェクトに変更しました

編集が終了した直後に、jsonを再度エンコードする必要があります。だからあなたができることは次のようなものです:

<?php
    $from            = $_POST["totalQuery"];
    $qry             = json_decode($_POST["query"]);
    $qry->data->from = $from;
    //you will get the new json string 
    //as the finalList variable in your post callback
    echo json_encode($qry); 
?>
于 2012-07-24T08:35:50.573 に答える
0

json_decode($ string、true)を使用する必要があります-配列になります。詳細はこちら: http: //php.net/manual/en/function.json-decode.php

于 2012-07-24T08:34:11.903 に答える
0

配列にデコードして(オブジェクトについては不明)、再エンコードできます。

$qry = json_decode($_POST['query'], TRUE);
$qry['from'] = 10;
$new_qry = json_encode($qry);
于 2012-07-24T08:34:43.873 に答える