我想包装Prototype Ajax.Request以模拟AJAX延迟。我的意思是,使用一个闭包和Prototype的delay()工具,但显然我的代码有问题
/*
* Purpose: simulate AJAX latency when developing on localhost
* What's wrong?
*/
Ajax.Request = (function(original) {
return function(url, options) {
return original.delay(1, url, options);
};
}) (Ajax.Request);
答案 0 :(得分:1)
这对我有用(使用原型1.6.1):
Ajax.Request.prototype._initialize = Ajax.Request.prototype.initialize;
Ajax.Request.prototype.initialize = function ($super, url, options) {
return this._initialize.bind(this).delay(2, $super, url, options);
};
我认为Ajax.Request.prototype.initialize
的方法签名在旧版本的原型中是不同的(即没有$ super参数)。
这将为所有Ajax请求更新它。