IE 11中的FormData未定义

use*_*905 4 jquery internet-explorer form-data

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

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
Run Code Online (Sandbox Code Playgroud)

这在我测试过的所有浏览器中都很有效,除了IE 11.除此之外它还不明白FormData()是什么?我现在已经在线阅读了很多不同的解决方法,但是没有一个可以工作,无论我什么也没做,无法从输入中获取文件的详细信息.还有其他人有这个可以帮助吗?即使我尝试使用jQuery来获取对象,然后由于某种原因未定义'files'.

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

编辑2:我还应该提一下,在文件输入的更改事件中调用此代码,不确定它是否有任何相关性,但最好提及它

use*_*905 8

检查IE开发人员工具中的docmode之后,由于某种原因,它被恢复为9,在我的母版页上有一个旧版的X-UA-Compatible元标记我改为:

<meta http-equiv="X-UA-Compatible" content="IE=edge">
Run Code Online (Sandbox Code Playgroud)

FormData完全没有问题.

  • 没有为我工作,该对象仍然没有附加 (4认同)