2
var formData = new FormData(); 
formData.append('username', 'Chris'); 
formData.append('username', 'Bob'); 
formData.get('username'); 

get метод не поддерживается в Internet explorer.Then, как мы можем извлечь username в Internet Explorer?Какая альтернатива для метода formdata.get() в Internet Explorer?

+0

Это зависит от того, почему вам нужно данные формы? Скорее всего, используйте полифонию данных формы, например https://github.com/moxiecode/moxie/blob/9b77a24f58c72fcd15e955e26c5a745ca08b2575/src/javascript/xhr/FormData.js –

+0

Почему бы не использовать вызов ajax? –

+0

Лучше использовать ajax-вызов для подачи материалов по ajax. Я нашел его лучше, чем FormData(). –

ответ

-1

Вам нужно следить за ней себя, какие ценности вы добавляете или вы можете использовать этот твердый polyfill, который имеет все методы

Затем, если вы хотите, чтобы преобразовать его в родной можно просто цикл по записям и добавить его в родной FormData

Non это работает в IE:

Некоторые опции являются entries(), getAll(), keys(), values(), но не из них работают ПОТОМУ Append это единственное, что IE может сделать ...

другой вариант для его получения: Array.from(formdata) или более простая версия [...formdata], но для этого требуют записи (ака итератор)

Существует также еще одно решение, позволяющее получить все поля без возможности получить их из formData. И это с помощью fetch, где, как вы можете преобразовать FormData в сгусток, ArrayBuffer или текст

new Response(formdata).text().then(console.log)

Но проблему в IE не имеет поддержки fetch