2017-01-17 8 views
0

AJAXfor loopを使用してAPIに行く配列内にJSONオブジェクトを1つ1つプッシュできるコードを作成しています。ここのコードは、私が取り組んできたものの大まかなサンプルです。私はそれはあなたがあなたのJSONオブジェクトをシリアル化するためにJSON.stringifyを使用する必要がAPI JSON array複数のJSONオブジェクトをajaxとforループを使用してAPIに1つずつプッシュ/追加する

var lms_json = <?php echo json_encode($json_data); ?>; 
var jobjects = JSON.parse(lms_json); 
var data = jobjects[0]; 

for (i = 0; i < jobjects.length; i++) { 
    var data = jobjects[i]; 


    $.ajax({ 
      type  : 'POST', 
      url  : url, 
      data  : data, 
      dataType : 'json', 
      success : function() { 
       console.log(success); 
      }, 
      error : function(error) { 
       console.log('Error') 
      } 

    }) 



} 
+1

あなたはどのようなエラーが発生しているか教えてください。 – poushy

+0

あなたはどこにデータを投稿していますか? JSONオブジェクト全体またはJSON文字列をAJAX呼び出しに渡して、サーバー側で処理するのはなぜですか? – Jeanger

答えて

1

にオブジェクトをプッシュでの動作させるように見えることはできません。また、サーバーがJSONデータを期待するようにcontent-typeを指定します。これはうまくいくかもしれない:

var lms_json = <?php echo json_encode($json_data); ?>; 
var jobjects = JSON.parse(lms_json); 
var i=0; 
function makeAjax(url, objs){ 
    var data = objs[i]; 
    i++; 
    $.ajax({ 
     type  : 'POST', 
     url  : url, 
     data  : data, 
     dataType : 'json', 
     success : function() { 
      console.log(success); 
      makeAjax(); 
     }, 
     error : function(error) { 
      console.log('Error') 
     } 

    }) 
} 
makeAjax(url,jobjects); 

だから、すべての成功コールバックの実行後は、それが実行されます:

$.ajax({ 
    url: url, 
    type: "POST", 
    data: JSON.stringify(data), 
    contentType: "application/json", 
    complete: callback 
}); 
1

を私はあなたの問題は、あなたがそれを正しく行うには、次の操作を行うことができるようにAJAXは非同期プロセスであるということだと思い次。同期プロセスになります。

私はそれが役に立ちそうです。

関連する問題