什么是Internet Explorer中formdata.get()方法的替代方案?

时间:2016-10-19 11:27:02

标签: javascript jquery internet-explorer browser-cache form-data

org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: bad-request - modify
at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:135)
at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:232)
at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:213)
at org.jivesoftware.smackx.iqregister.AccountManager.getRegistrationInfo(AccountManager.java:332)
at org.jivesoftware.smackx.iqregister.AccountManager.supportsAccountCreation(AccountManager.java:144)
at chat.Chat$1.run(Chat.java:46)
Internet Explorer中不支持

var formData = new FormData(); formData.append('username', 'Chris'); formData.append('username', 'Bob'); formData.get('username'); 方法。那么我们如何在Internet Explorer中检索get

1 个答案:

答案 0 :(得分:-1)

您需要自行跟踪您要添加的值,或者您可以使用具有所有方法的实体polyfill

然后,如果你想将它转换为native,你可以循环遍历条目并将其附加到本机formData

非这个在IE中工作:

有些选项是entries(), getAll(), keys(), values(),但是其中没有选项正在运行,因为IE是唯一可以做的事情......

检索它的其他选项是使用Array.from(formdata)或更简单的版本[...formdata],但这需要条目(也就是Iterator)

还有另一个解决方案来获取所有字段,而无法从formData获取它。这是通过使用fetch,因为您可以将formData转换为blob,arrayBuffer或文本

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

但问题是IE不支持fetch