2012-04-20 27 views
5

Xin lỗi, đây là bản sao từ số here được hỏi trong SO nhưng tôi mới làm điều này vì vậy tôi muốn biết cách thực hiện?Trả lời JSON vòng sau khi thành công ajax

Đây là cuộc gọi ajax của tôi:

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

riêng tôi có thể nhận được phản ứng nhưng tôi cần để lặp họ.

Bất kỳ ai cũng có thể nói tôi làm cách nào để thực hiện việc này?

+0

@ xander-that dosent phụ thuộc vào số điểm bạn đạt được đó là vấn đề học một cái gì đó mới – coder

+0

@ all-Thanks cho phản ứng của bạn. – coder

Trả lời

4

Bạn có thể làm;

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

Vui lòng giải thích mã. – Rehan

10

Sử dụng $.each().

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

Nhìn here để tìm hiểu về điều đó. (EDIT: Hoặc here - đó là một video hướng dẫn nếu bạn thích điều đó.)

+0

nhờ man.i chỉ tìm kiếm giải pháp này. –

6

nếu response.d là một mảng bạn có thể đặt nó trong một vòng lặp for như sau:

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

Phương pháp này được ưa thích hơn chức năng jQuery $.each() do tính chất nhanh hơn của nó. Hãy xem số điện thoại Fiddle này để so sánh số for$.each().

Các vấn đề liên quan