首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IE 11中的FormData未定义

IE 11中的FormData未定义
EN

Stack Overflow用户
提问于 2014-10-06 02:57:37
回答 2查看 16.7K关注 0票数 4

我使用以下脚本从输入类型的文件中获取文件数据:

代码语言:javascript
运行
复制
var uploadfiles = $("#upFile").get(0);
var uploadedfiles = uploadfiles.files;

var fromdata = new FormData();
for (var i = 0; i < uploadedfiles.length; i++) {
    fromdata.append(uploadedfiles[i].name, uploadedfiles[i]);
}

// ajax code omitted that uploads file

这在我测试过的所有浏览器中都工作得很好,除了IE 11。在这种情况下,它不理解FormData()是什么??我现在已经在网上阅读了很多不同的变通方法,但是它们都不起作用,无论我如何尝试,都无法从输入中获得文件的详细信息。还有没有人有这方面的帮助呢?即使我尝试使用jQuery来获取对象,但由于某种原因,“文件”是未定义的。

编辑:在线阅读更多,这可能是因为IE在表单提交之前不提供输入的访问权限,但是我使用ajax上传文件,所以我不能真正提交它。

EDIT2:我还应该提到,这段代码是在文件输入的更改事件上调用的,不确定它是否有相关性,但最好还是提一下

EN

Stack Overflow用户

发布于 2019-08-23 20:43:21

IE11不完全支持FormData。

具体地说: FormData实例没有方法'set‘。您需要使用append方法,如下所示:

代码语言:javascript
运行
复制
const formData = new FormData();
formData.append('your_key_name', 'your_value_goes_here');

将meta http-equiv设置为IE=edge将不会使“set”属性起作用,因此不需要该属性。

参考:https://developer.mozilla.org/en-US/docs/Web/API/FormData/append

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26206105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档