正如官方文档中所见,IE11根本不支持FormData
,或者至少不支持我需要的。
在我的代码中,我必须遍历FormData
元素的条目。对于此任务,我使用entries()
函数,该函数不能在IE上发生错误
对象不支持属性或方法'条目'
我已经通过npm将https://github.com/jimmywarting/FormData添加到我的项目中,并将其添加到webpack.config.js
中的条目中,然后看起来像这样。
const webpack = require("webpack");
const path = require("path");
module.exports = {
entry: {
app: ["babel-polyfill", "formdata-polyfill", "whatwg-fetch", "./Scripts/Modules/index.ts"]
},
}
在控制台中,我可以看到formdata.min.js
已加载。由于错误仍然存在,似乎它不应该使用polyfill。它仍然使用失败的默认值。
我怎样才能告诉我的TypeScript
代码使用polyfill-version而不是浏览器的默认实现,因为包没有提供任何d.ts
个文件?
这甚至可能吗?如果不是 - 这种情况有哪些可行的解决方法?
这就是FormData
对象在开发工具中的样子:
只有append
作为方法定义
答案 0 :(得分:4)
不确定它是否会对您有所帮助,但我今天遇到了这个问题,似乎通过NPM提供的polyfill版本并没有完全覆盖FormData对象,因此不适合IE11或Edge。
我发现切换到库的V3固定了。为此,我从github存储库获取了FormData.js文件的内容,并将其作为组件添加到我自己的自定义JavaScript代码中。
我使用WebPack,还有IE11的其他问题,仍在调查。
让我知道如何通过直接包含内容而不是从NPM获取内容。