2012-04-20 15 views
5

Lo siento, este es un duplicado de here pedido en SO, pero soy nuevo en esto, así que me gustaría saber cómo hacerlo?Loop Respuesta de JSON después del éxito de Ajax

Ésta es mi ajax llamada:

$("#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]); 
         } 
       }); 
    }); 

individualmente soy capaz de obtener la respuesta, pero tengo que bucle de ellos.

¿Alguien me puede decir cómo puedo hacer esto?

+0

@ xander-que dosent depende de cuántos puntos ganes es una cuestión de aprender algo nuevo – coder

+0

@ all-Gracias por tu respuesta. – coder

Respuesta

4

Usted podría hacer;

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

Por favor, explique el código. – Rehan

10

Usar $.each().

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

Look here a aprender acerca de él. (EDITAR: O here - es un tutorial de vídeo si prefiere que.)

+0

gracias man.i estaba buscando solo esta solución. –

6

si response.d es una matriz que podría colocarlo en un bucle de este modo:

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

es preferible a este método la función jQuery $.each() debido a su naturaleza más rápida. Consulte este Fiddle para una comparación de for frente a $.each().

Cuestiones relacionadas