【发布时间】:2017-01-17 15:27:41
【问题描述】:
有没有办法在同一中心代码中为所有Ext.Ajax.request 实现一种beforeLoad 和afterLoad(唯一的回调函数)?
我想在我的所有请求(“solo”ajax 和存储加载)上显示和隐藏 Waiting... 图标,并且不想在每个请求上都重写代码。
【问题讨论】:
有没有办法在同一中心代码中为所有Ext.Ajax.request 实现一种beforeLoad 和afterLoad(唯一的回调函数)?
我想在我的所有请求(“solo”ajax 和存储加载)上显示和隐藏 Waiting... 图标,并且不想在每个请求上都重写代码。
【问题讨论】:
Ext.Ajax 是一个单例。你可以做的是创建你自己的 Ext.AjaxOfMyOwn 类来扩展 Ext.Ajax 单例。
使用您自己开发的 Ext.Ajax.. 类,您的应用程序是应用程序范围的,而不是 Ext.Ajax 单例。在你自己的那个类中,你的事件函数基于现有的函数。
当您将重写的事件函数 'this.callParent()' 放入时,它还将执行扩展它的类中的代码,即 Ext.Ajax。
【讨论】:
我想我明白了。把它放在应用程序的启动函数中
launch: function () {
Ext.Ajax.on("beforerequest", function (conn, options, eOpts) {
console.log( options );
}
}
似乎对于所有 ajax 请求都是系统范围的......将会看到。 参考:how to add beforerequest event to ajax request in Extjs 4?
【讨论】: