2016-06-21 17 views
5

Tôi đang sử dụng FormData để gửi thông tin về máy chủ. Tuy nhiên, trong một số trường hợp, tôi cần đọc dữ liệu trước khi gửi.Lặp lại thông qua FormData trong IE

Chrome cho phép bạn lặp qua bộ sưu tập nhưng IE không cung cấp cùng phương pháp.

Đoạn code dưới đây làm việc trong Chrome:

// Create a test FormData object 
var formData = new FormData(); 
formData.append('key1', 'value1'); 
formData.append('key2', 'value2'); 

// Display the key/value pairs 
for(var pair of formData.entries()) { 
    console.log(pair[0]+ ', '+ pair[1]); 
} 

JS Fiddle

Có ai biết làm thế nào để đạt được kết quả tương tự trong IE? Cảm ơn.

+0

Sử dụng 'for ... in ... 'thay vì' cho ... của ... '([Trình duyệt tương thích] (https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of#Browser_compatibility)) – Andreas

+1

Vấn đề này liên quan đến các phương thức trên đối tượng FormData, không phải là việc sử dụng 'cho .../trong ... '. IE bị thiếu 'formData.keys()/entries()' etc ... – KoenW

+0

là mục nhập ngay cả một phần của spec? hoặc một phương pháp trong ví dụ? – SuperUberDuper

Trả lời

-1
var unindexed_array = form.serializeArray(); 

$.map(unindexed_array, function(n, i){ 
    console.log(n['name']+ ', '+ n['value']);   
}); 

Mã này cho kết quả tương tự trong IE

+0

không đủ jQuery – vaxquis

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