0

だから私はこれをPHP側に持っています:

//enclosed in for loop start
$titleArray[] = $title;
$idsArray[] = $id;
//enclosed in for loop end

ループが実行された後、配列が作成されます。これを示す var_dump を次に示します。そして、それを json エンコードして終了し、jQuery が処理する応答として送信します。

var_dump($titleArray);
array(2) {
  [0]=>
  string(2) "T1"
  [1]=>
  string(2) "T2"
}

var_dump($idsArray);
array(2) {
  [0]=>
  string(2) "I1"
  [1]=>
  string(2) "I2"
}

$output = array('success' => true, 'type' => 'valid', 'titles' => ''.$titleArray.'', 'ids' => ''.$idsArray.'');
echo json_encode($output);
exit();

ここで私は問題に遭遇します。これらの配列 (タイトル/ID) にアクセスできなくなったようです。応答は次のとおりです。

{"type":"valid","titles":"Array","ids":"Array"}

応答を処理する成功後の領域は次のとおりです。

success: function(output) {
             var x = $.parseJSON(output);
                 if(x.type=='valid'){
                     $.each(x.titles, function(k, v) {
                         $("#output-area").append('<div id="'+v.ids+'" class="title">Title: '+v.titles+'</div>');
                     });
                 }
         }

配列には 2 つの項目があるため、この時点で 2 つの新しい div を追加する必要があります。v.ids代わりに、値として未定義の 5 つの新しく追加された div を取得しv.titlesます。このシナリオで正しい望ましい出力を得るにはどうすればよいですか?

4

2 に答える 2

1

基本的にあなたはにパスArrayを持っていますjson_encode()

array('success' => true, 'type' => 'valid', 'titles' => $titleArray, 'ids' => $idsArray );
于 2013-05-22T20:11:19.437 に答える