Angularjs Internet Explorer 9和文件上载工作不正常
我正在尝试使用angular上传文件,除了IE9之外,它工作得非常好 我尝试过,但在使用非HTML5浏览器时需要Flash,所以它不适合我 在那之后,我努力工作!除了上传文件后,我做了一些处理,可能返回错误的请求。这在IE9中不起作用。如果上传成功,我的代码不会看到错误的请求 嗯,我真的不认为问题出在我的代码上,所以我不会在这里发布任何东西。 我想要的是一个有同样问题的人告诉我该怎么做 编辑:换句话说。在Chrome中,状态为400,在IE9中为200Angularjs Internet Explorer 9和文件上载工作不正常,angularjs,internet-explorer-9,angular-file-upload,Angularjs,Internet Explorer 9,Angular File Upload,我正在尝试使用angular上传文件,除了IE9之外,它工作得非常好 我尝试过,但在使用非HTML5浏览器时需要Flash,所以它不适合我 在那之后,我努力工作!除了上传文件后,我做了一些处理,可能返回错误的请求。这在IE9中不起作用。如果上传成功,我的代码不会看到错误的请求 嗯,我真的不认为问题出在我的代码上,所以我不会在这里发布任何东西。 我想要的是一个有同样问题的人告诉我该怎么做 编辑:换句话说。在Chrome中,状态为400,在IE9中为200 uploader.onCompleteIt
uploader.onCompleteItem = function (fileItem, response, status, headers)
我想我找到了错误的根源。这是一个角度文件上传功能
iframe.bind('load', function() {
try {
// Fix for legacy IE browsers that loads internal error page
// when failed WS response received. In consequence iframe
// content access denied error is thrown becouse trying to
// access cross domain page. When such thing occurs notifying
// with empty response object. See more info at:
// http://stackoverflow.com/questions/151362/access-is-denied-error-on-accessing-iframe-document-object
// Note that if non standard 4xx or 5xx error code returned
// from WS then response content can be accessed without error
// but 'XHR' status becomes 200. In order to avoid confusion
// returning response via same 'success' event handler.
// fixed angular.contents() for iframes
var html = iframe[0].contentDocument.body.innerHTML;
} catch (e) {}
var xhr = {response: html, status: 200, dummy: true};
var headers = {};
var response = that._transformResponse(xhr.response, headers);
that._onSuccessItem(item, response, xhr.status, headers);
that._onCompleteItem(item, response, xhr.status, headers);
但我的回答总是不明确我找到了解决办法。在我的项目中,只有当服务器返回错误时,它才会进入catch语句。因此,我在这里触发事件onError。我找到了一个修复方法。在我的项目中,只有当服务器返回错误时,它才会进入catch语句。因此,我触发了事件onError。错误请求不起作用?你应该发布你的代码..看着网络我可以看到错误的请求响应。但是,在IE9中,上传程序没有捕捉到错误。在调试中,我可以看到属性isError setted false。代码在这里并不重要。您设置了哪些标头使其成为错误请求?400?我想办法解决。在我的项目中,只有当服务器返回错误时,它才会进入catch语句。因此,我在那里触发了事件onError。谢谢你的时间。这个错误的请求不起作用?你应该发布你的代码..看着网络我可以看到错误的请求响应。但是,在IE9中,上传程序没有捕捉到错误。在调试中,我可以看到属性isError setted false。代码在这里并不重要。您设置了哪些标头使其成为错误请求?400?我想办法解决。在我的项目中,只有当服务器返回错误时,它才会进入catch语句。因此,我在那里触发了事件onError。谢谢你的时间。这个错误的请求不起作用?你应该发布你的代码..看着网络我可以看到错误的请求响应。但是,在IE9中,上传程序没有捕捉到错误。在调试中,我可以看到属性isError setted false。代码在这里并不重要。您设置了哪些标头使其成为错误请求?400?我想办法解决。在我的项目中,只有当服务器返回错误时,它才会进入catch语句。因此,我在那里触发了事件onError。谢谢你的时间。你好,拉斐尔,你能详细说明一下吗?我这里也有同样的问题。我的代码在firefox上运行良好,但在IE9下,我的服务器生成的400错误请求响应(带有JSON主体)永远不会到达OneErrorItem回调(我看到的是未定义)。你好,seuvitor,我真的不知道为什么,但插件在IE9中无法获得此错误。它只能知道请求不起作用(catch语句)。问题是,有一种情况是,即使是一个OK响应也会进入catch(关于cors的内容)。因此,即使服务器返回错误,插件也会发送200 OK。我在我的项目中更改了这一行,这样我就可以看到错误。你好,拉斐尔,你愿意详细说明一下吗?我这里也有同样的问题。我的代码在firefox上运行良好,但在IE9下,我的服务器生成的400错误请求响应(带有JSON主体)永远不会到达OneErrorItem回调(我看到的是未定义)。你好,seuvitor,我真的不知道为什么,但插件在IE9中无法获得此错误。它只能知道请求不起作用(catch语句)。问题是,有一种情况是,即使是一个OK响应也会进入catch(关于cors的内容)。因此,即使服务器返回错误,插件也会发送200 OK。我在我的项目中更改了这一行,这样我就可以看到错误。你好,拉斐尔,你愿意详细说明一下吗?我这里也有同样的问题。我的代码在firefox上运行良好,但在IE9下,我的服务器生成的400错误请求响应(带有JSON主体)永远不会到达OneErrorItem回调(我看到的是未定义)。你好,seuvitor,我真的不知道为什么,但插件在IE9中无法获得此错误。它只能知道请求不起作用(catch语句)。问题是,有一种情况是,即使是一个OK响应也会进入catch(关于cors的内容)。因此,即使服务器返回错误,插件也会发送200 OK。我在我的项目中更改了这一行,以便可以看到错误。