IE11在使用AjaxFileUpload上传文件期间挂起

时间:2014-07-14 11:46:13

标签: javascript jquery file upload internet-explorer-11

几天前IE11出现了奇怪的问题。这个插件,工作得很好(https://github.com/davgothic/AjaxFileUpload)现在不想这样做。选择文件后单击“加载”,IE死机挂起。只有杀死过程有帮助。我查看了用于发布数据的深度jQuery代码,并且在挂起之前无法找到放置断点的位置。 提交数据没问题,在服务器上收到文件,处理程序正常工作,它返回带有一些信息的XML。但是在处理程序的“context.Response.End();”之后没有更多事件(例如“ajaxComplete”)在客户端上调用。 我在哪里可以找到问题?它只在IE11和许多不同的机器上。 IE10工作正常...... 感谢任何帮助!

4 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,它似乎与Microsoft的以下安全更新相关联

http://support.microsoft.com/kb/2962872/en-us

在已知问题下,他们列出了

“问题3:安装此安全更新后,在使用Web表单或上载文件时,Internet Explorer可能在某些应用程序中无响应。此问题会影响Internet Explorer版本10和11.

注意我们正在研究此问题,并会在信息可用时在本文中发布更多信息。“

卸载此更新后,我们的文件再次上传工作正常。

答案 1 :(得分:1)

我最近也遇到过这个问题。我正在使用jQuery Ajax调用MVC控制器发布.csv文件。它肯定是一个尚未解决的IE 11问题。我的解决方法是指定" async:false"在Ajax调用控制器,它解决了我的问题。我希望这可以帮助别人! 以下是我在下面使用的代码:

  $.ajax({
        type: 'POST',
        url: ***,
        data: ***,
        processData: false,
        contentType: false,
        cache: false,
        async: false,
        success: function (response) {
           do something:
        },
        error: function () {           
        }
    });

答案 2 :(得分:0)

我稍后通过删除 MS Windows更新KB2962872 解决了这个问题。这很糟糕,微软做了那个bug并花了很多时间来修复它。我还不确定是否有更新更新?

答案 3 :(得分:0)

遇到与上下文有点不同的相同问题。我分享了我的经验,也许你可以节省几天的调试时间(对我来说一周)。

在我的上下文中,我将AngularJS与.NET服务器一起使用。我尝试使用ng-file-upload扩展(https://github.com/danialfarid/ng-file-upload),但也尝试使用更简单的FormData javascript对象。出现同样的问题: - 在Chrome中,一切正常 - 在我的Windows 10计算机上的IE 11.20.10586中,也没问题 - 但是使用IE 11.0.9600.18059(Windows 7)和IE 11.0.9600.17728(Windows Server),无法发送文件,IE挂起。

经过一段时间和一些新的白发,我终于找到了一个黑客。没什么好看的,但是我找到上传文件的唯一方法:我注意到如果我一个接一个地发送请求两次,但是删除第一个中的文件,那么第二个请求正确地发布了文件!

我仍然没有一个有价值的解释,为什么黑客工作而不是经典上传,但经过调试并在网上挖掘了很多,我相信这是一个IE漏洞。

我希望这可以提供帮助!