XmlHttpRequest可以在IE中比在Chrome中花费更多时间吗?

Gon*_*o.- 11 ajax internet-explorer google-chrome kendo-ui angularjs

我正在使用Web应用程序(它非常大),因此应用程序的某些部分我真的不知道它们是如何工作的.

我是前端开发人员,我正在使用.NET Web Api实现的REST API(据我所知)

请求很简单 - 我使用kendo Datasource从服务器获取数据

var kendoDataSource = new kendo.data.DataSource({
                    // fake transport with local data
                    transport: {
                        read: function(options) {
                            // set results
                            options.success(lookupValues);
                        }
                    },
                    schema: {
                        parse: function (response) {
                            // sort case insensitive by name
                            response.sort(function (a, b) {
                                return (a.Name.toLowerCase() > b.Name.toLowerCase()) ? 1 : (a.Name.toLowerCase() < b.Name.toLowerCase()) ? -1 : 0;
                            });
                            return response;
                        }
                    },
                    // set the page size
                    pageSize: 25
                });
Run Code Online (Sandbox Code Playgroud)

以及对数据的请求

$http({ method: 'GET', url: 'REST/SystemDataSet/' + id + '/Values' }).success(function (response) {
                            // store data
                            lookupValues = response;
                            kendoDataSource.read();
// do some logic here
                        }).error(function(error) {
                            // logic
                        });
Run Code Online (Sandbox Code Playgroud)

我这样做是因为有一些额外的逻辑来操纵数据.

Chrome中的此请求需要32毫秒,而在IE中需要大约9秒.检索到的数据是相同的(你可以看到响应的大小),这是一个JSon对象的数组(非常简单)

在此输入图像描述

我不确切知道后端是否有缓存机制,但它无关紧要,因为我每次都能像这样重现它(在Chrome中快速,在IE上真的很慢)

什么可能导致这种行为的想法?据我所知,如果有一个缓存或其他东西,它应该对每个浏览器都是相同的,所以这应该发生在两者上,而不仅仅发生在IE上 - 后端与浏览器无关.

这是我从另一个检查第一个IE请求中的时间分配请求的一些额外信息

在此输入图像描述

如您所见,最大的部分是"请求",即发送请求并从服务器接收第一个响应所花费的时间.

提前致谢

Dav*_*ien 1

问题可能是为您调用 ajax 的文件夹打开了 Windows 身份验证...同样的原理也适用于此...

http://docs.telerik.com/kendo-ui/web/upload/troubleshooting

问题:使用带有 Windows 身份验证的 IE10/11 时,异步上传会随机失败 如果在 HTTP POST 上收到 401 质询,则上传会无限期冻结或超时。

解决方案

对于 IE10,请参阅KB2980019

截至 2014 年 11 月 6 日,IE 11 尚未出现官方修复。请参阅错误 ID 819941