0

以前の質問を投稿しようとしましたが、複雑だったと思います。

基本的には「このままデータ通してもらえますか?」と言われました。- このデータはフォームからではなく、クライアント側の検索によって駆動されるデータから派生することに注意してください。

これは、サーバーに送信されると想定されているものです。したがって、error_log をダンプすると、次のようになります。これはすべて動的であるため、以下のオブジェクトはその形式になりますが、データは変更されます。

{
  "matchedItems" :
  [
    { "itemID1" :
      { "Cost" : "12",
        "Size" : "small",
        "Colors" : [ "blue", "red" ]
      }
    },
    { "itemdID2" :
      { "Cost" : "33",
        "Size" : "large",
        "Colors" : [ "yellow" ]
      }
    }
  ]
}

そのため、ページ上のいくつかのものを実行し、データをまとめてデータセットを返します。したがって、配列内のハッシュです。

しかし、私の人生では、実際の .ajax 投稿で見栄えを良くするものは何も得られません。データを console.log アウトすると、良さそうです。ハッシュの配列です。等々・・・元気そうです。しかし、以下は、リクエストのパラメーターを見ると実際に送信されるものです。以下、実際に送ったものです。奇妙なマージなどを行ったようです。

{
  'matchedItems[0][itemid1][Color]' => 'Blue',
  'matchedItems[0][itemid1][Size]' => 'small',
  'matchedItems[0][itemid1][Cost]' => '33.90',
  'matchedItems[1][itemid2][Color][]' => ['Silver'],
  'matchedItems[1][itemid2][Size]' => 'small',
  'matchedItems[1][itemid2][Cost]' => '44',
  'matchedItems[2][itemid3][Color][]' => ['blue','Red'],
  'matchedItems[2][itemid3][Size]' => 'large',
  'matchedItems[2][itemid3][Cost]' => '23'
};

データを $.params しようとしましたが、うまくいきませんでした。dataType でさまざまなデータ設定を試しましたが、うまくいきませんでした。最初に投稿したものを模倣して送信するデータをフォーマットする方法に途方に暮れています。

何か案は?

4

1 に答える 1

1

PHP からの出力をjson_encode()する必要があります

例:

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

出力:

{"a":1,"b":2,"c":3,"d":4,"e":5}

jQuery を使用して、ajax 応答から返された json をデコードできます。

var json_reply = jQuery.parseJSON('{"a":1,"b":2,"c":3,"d":4,"e":5}');
alert( json_reply.a ); // alerts "1"
于 2012-11-04T07:15:21.223 に答える