2016-06-13 4 views
1

私はインターンシップのSymfony2プロジェクトのフォーム内でAPIデータを取得しようとしています。 人がリストに名前を選択したときに、データを挿入するためにAPIを固定する必要があります。jQueryとAJAXを使用したAPIデータの引き出し

私はそれを行う方法を探しました。私の先生は、jQueryとAJAXを使ってそれを行うようアドバイスしました。

だから私は、この書いた:

$(function (carrotcake) { 
 
    $.ajax({ 
 
     url: "http://abc/def/xxx.php", 
 
    }).done(function() { 
 
     $.each(carrotcake, function(key, value) {     
 
      $('#agent-list').append($("<option></option>").attr("value",key).text(value.AG_NOM + ' ' + value.AG_PRENOM)); 
 
     }); 
 

 
     $('#agent-list').change(function (carrotcake) { 
 
      var id = $(this).val(); 
 
      if (id != "-1") { 
 
       $('#cd_carsbundle_reservations_nomAgent').val(carrotcake[id].AG_NOM); 
 
       $('#cd_carsbundle_reservations_prenomAgent').val(carrotcake[id].AG_PRENOM); 
 
      } else { 
 
       $('#cd_carsbundle_reservations_nomAgent').val(''); 
 
       $('#cd_carsbundle_reservations_prenomAgent').val(''); 
 
      } 
 
     }) 
 
    }) 
 
});

そして、私は進行状況を確認できます。今朝私のリストに結果がなかったので、未定義の定義がたくさんありました。

enter image description here

私は進行OK。どっちがいい!しかし、なぜ私は名前のリストを持っていないのかわかりません。私は何かを忘れましたか?私はタイプミスや何か間違ったことをしましたか?

お願いします。

+1

だから、 'value.AG_NOM'と' value.AG_PRENOM'が定義されていません...そして、あなたのコードで 'carrotcake'はjQueryの' $(関数(キャロットケーキ){...})を参照しています; ' –

答えて

0

API呼び出しのデータをドロップダウンに出力する場合は、.done.eachを以下のスニペットに置き換えてください。

.done(function (data) { 
     $.each(data, function(key, value) { 
関連する問題