2016-06-21 24 views
5

Używam FormData do wysyłania informacji z powrotem do serwera. W niektórych przypadkach muszę jednak odczytać dane, zanim je wyślę.Iterowanie za pomocą formularzy w IE

Chrome pozwala na iterację w kolekcji, ale IE nie dostarcza tych samych metod.

Poniższy kod działa w 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

Czy ktoś wie, jak osiągnąć ten sam wynik w IE? Dzięki.

+0

użyć 'for ... in ...' 'zamiast do ... z dnia ...' ([Przeglądarki] (https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of#Browser_compatibility)) – Andreas

+1

Problem jest związany z metodami na obiekcie FormData, a nie z użyciem 'for ... of/in ... '. Brakuje IE 'formData.keys()/entries()' etc ... – KoenW

+0

to wpisy nawet część specyfikacji? lub metoda w ie? – SuperUberDuper

Odpowiedz

-1
var unindexed_array = form.serializeArray(); 

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

Ten kod daje taki sam wynik w IE

+0

za mało jQuery – vaxquis

Powiązane problemy