gpt4 book ai didi

ajax - 在 Ext JS 中未定义 request.xhr

转载 作者:行者123 更新时间:2023-12-04 15:46:38 24 4
gpt4 key购买 nike

我的网站是使用 Ext JS 4.1 框架和 ASP .Net MVC v3 制作的。渲染新帧时,有 19 个单独的 AJAX 请求用于检索 JSON 格式的数据。所有请求都是熟悉的,由 Ext.Ajax.request() 发出。例子:

Ext.Ajax.request({
url: getOrderLink,
method: "GET",
params: { recId: orderRecId },
headers: {
'Accept': 'application/json'
},
success: function (response) {
var order = Ext.decode(response.responseText);
...
}
});

在某些情况下,ext-all.js 中有错误
onStateChange : function(request) {
if (request.xhr.readyState == 4) {
this.clearTimeout(request);
this.onComplete(request);
this.cleanup(request);
}
},

其中 request 没有属性 xhr,因此 request.xhr.readyState 抛出异常“无法读取未定义的属性‘readState’”。
并非所有请求都会出现此错误,并且不会影响站点工作(成功检索到响应)。有时根本不会出现此错误。默认情况下,所有请求的超时设置为 30 秒,每个请求大约需要 1.5-2 秒。
我正在使用谷歌浏览器 21。
你能给我一些想法为什么会发生。

最佳答案

当且仅当您有断点或“调试器”时,问题似乎才会发生;行任何与 AJAX 相关的内容。对我来说它发生在 Chrome 中,还没有尝试过其他浏览器。

在我的情况下,它发生在我在加载事件处理程序中为商店设置断点时,例如下面的代码示例。

但是如果您在框架本身的 Ext onStateChange 函数中设置断点,则会发生错误。

如果禁用断点和 debugger;调用删除错误,您可以放心地忽略它!

There is a similar thread on ExtJS forums. Sencha might add a fix.

Ext.define('MyApp.controller.MyController', {
extend: 'Ext.app.Controller',

stores: ['Projects'],

init: function () {
this.getProjectsStore().addListener(
"load",
this.onProjectsStoreLoaded,
this
);
},

onProjectsStoreLoaded: function () {
console.log('MyController: onProjectsStoreLoaded');

debugger; // <- this causes the errors to appear in the console

SomeOtherThingsIWantedToDebug();
}
}

关于ajax - 在 Ext JS 中未定义 request.xhr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com