2012-04-20 13 views
5

Spiacente, questo è un duplicato da here chiesto in SO, ma sono nuovo per questo, quindi mi piacerebbe sapere come farlo?Risposta loop JSON dopo successo ajax

Questa è la mia chiamata AJAX:

$("#btnprocess").click(function() { 
       $.ajax({ 
        type: "POST", 
        url: "Default.aspx/GetFilenames", 
        data: "{}", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function (response) { 
         alert(response.d[0]); 
         alert(response.d[1]); 
         } 
       }); 
    }); 

autonomamente sono in grado di ottenere la risposta, ma ho bisogno di ciclo di loro.

Qualcuno può dirmi come faccio?

+0

@ xander: il dosaggio dipende da quanti punti si ottengono è una questione di apprendimento di qualcosa di nuovo – coder

+0

@ all-Grazie per la risposta. – coder

risposta

4

Si potrebbe fare;

for (var i=0; i<response.d.length; i++) { 
alert(response.d[i]); 
} 
+0

Si prega di spiegare il codice. – Rehan

10

Utilizzare $.each().

$.each(response.d, function(key, value) { 
    //For example 
    console.log(key + value) 
}) 

Look here per informarsi. (EDIT: O here - è un video tutorial, se si preferisce che.)

+0

grazie man.i cercavo solo questa soluzione. –

6

se response.d è un array si potrebbe mettere in un ciclo for in questo modo:

for (var i = 0; i < response.d.length; i++) { 
    // do action here 
} 

Questo metodo è preferito su la funzione jQuery $.each() a causa della sua natura più rapida. Controlla questo Fiddle per un confronto di for rispetto a $.each().

Problemi correlati