2010-08-04 69 views
3

我想包裝Prototype Ajax.Request以模擬AJAX延遲。我的意思是,使用封閉和原型的延遲()的設施,但顯然有什麼錯我的代碼模擬AJAX延遲與包裝封閉

/* 
* 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); 

回答

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請求更新它。