2016-06-21 21 views
5

Ich verwende FormData, um Informationen zurück an den Server zu senden. In einigen Fällen muss ich jedoch die Daten auslesen, bevor ich sie sende.Iterieren durch FormData in IE

Mit Chrome können Sie durch die Auflistung iterieren, aber IE liefert nicht die gleichen Methoden.

Der Code funktioniert unten in 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

Wer weiß, wie das gleiche Ergebnis in IE zu erreichen? Vielen Dank.

+0

Verwenden 'für ... in ...' statt 'für ... von ...' ([Browser Kompatibilität] (https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of#Browser_compatibility)) – Andreas

+1

Das Problem bezieht sich auf die Methoden im FormData-Objekt, nicht auf die Verwendung von 'for ... von/in ... '. IE fehlt 'formData.keys()/entries()' etc ... – KoenW

+0

ist Einträge auch Teil der Spezifikation? oder eine Methode in ie? – SuperUberDuper

Antwort

-1
var unindexed_array = form.serializeArray(); 

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

Dieser Code gibt gleiches Ergebnis in IE

+0

nicht genug jQuery – vaxquis