ajax - XmlHttpRequest 在 IE 中是否比在 Chrome 中花费更多时间?

标签 ajax angularjs google-chrome internet-explorer kendo-ui

我正在使用一个 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
                });

以及对数据的请求
$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
                        });

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

这个请求在 Chrome 中需要 32 毫秒,而在 IE 中需要近 9 秒。
检索到的数据是一样的(可以看到响应的Size),都是一个JSon对象的数组(很简单)

enter image description here

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

关于可能导致这种行为的任何想法?据我了解,如果有缓存或其他东西,每个浏览器都应该是相同的,所以这应该发生在两者上,而不仅仅是在 IE 上——后端与浏览器无关。

这是我从另一个请求中获得的一些额外信息,用于检查第一个 IE 请求中的时间分布

enter image description here

如您所见,最大的部分是“请求”,即发送请求和接收服务器第一个响应所花费的时间。

提前致谢

最佳答案

问题可能是为您正在调用 ajax 的文件夹打开了 Windows 身份验证...
同样的原则适用于这里......

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

问题:使用 IE10/11 和 Windows 身份验证时异步上传随机失败
如果在 HTTP POST 上收到 401 质询,上传将无限期卡住或超时。

解决方案

对于 IE10,请参阅 KB2980019

截至 2014 年 11 月 6 日,没有针对 IE 11 的官方修复程序。请参阅错误 ID 819941

关于ajax - XmlHttpRequest 在 IE 中是否比在 Chrome 中花费更多时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30718063/

相关文章:

angularjs - Angular ui.grid 无限滚动不会被第二次调用 onwords

javascript - 如何在 Angularjs 中切换 bool 值复选框

javascript - 尝试在 Chrome Native Messaging 中使用断开连接的端口

selenium - 在 selenium 和 chromedriver 上登录 etrade 时出现问题

ruby-on-rails - 当网络服务器正在执行 http 请求时,如何在网页上显示 "waiting"指示符?

javascript - Ajax 调用和倒计时器

javascript - 向php发送ajax请求无数据响应

angularjs - Angular - 构建模块的最佳实践

javascript - 为什么 Function.prototype.bind 很慢?

javascript - 使用 AJAX/javascript(.STL 或 .json)加载 XML3D 模型