2016-06-21 36 views
5

Sto utilizzando FormData per inviare informazioni al server. In alcuni casi, tuttavia, ho bisogno di leggere i dati prima di inviarlo.Iterazione tramite FormData in IE

Chrome consente di scorrere la raccolta ma IE non fornisce gli stessi metodi.

Il codice di seguito funziona 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

Qualcuno sa come ottenere lo stesso risultato in IE? Grazie.

+0

Usa 'for ... in ...' invece di 'per ... di ...' ([Browser Compatibility] (https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of#Browser_compatibility)) – Andreas

+1

Il problema è correlato ai metodi sull'oggetto FormData, non all'utilizzo di 'for ... di/in ... '. IE manca 'formData.keys()/entries()' etc ... – KoenW

+0

le voci sono anche parte delle specifiche? o un metodo in ie? – SuperUberDuper

risposta

-1
var unindexed_array = form.serializeArray(); 

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

Questo codice danno stesso risultato in IE

+0

non abbastanza jQuery – vaxquis