Спасибо за чтение.
В основном, что я хочу сделать, это переопределить событие ajax success.
В большинстве руководств и вопросов, в которых я столкнулся, похоже, только обращается к добавлению обратного вызова к событию успеха. Я хочу фактически переопределить событие.
По сути, мне нужно уловить событие успеха до $.ajax и запустить мою логику до получения события ajax.
То, что у меня сейчас есть, это, но кажется, что изменение значений в "этом" контексте ничего не делает.
var XMLHttpRequestSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(){
var onError = this.onerror;
var onLoad = this.onload;
this.onload = (function(){
this.response = "new response";
return onLoad.apply(this, [].slice.call(arguments));
});
return XMLHttpRequestSend.apply(this, [].slice.call(arguments));
}
Какие-либо предложения?
Я нашел решение.
Следующее, похоже, работает.
var ajaxContext = $.ajax;
$.ajax = function(options){
var success = options.success;
options.success = (function(data){
data = data.Results;
return success.apply(this, [].slice.call(arguments));
});
return ajaxContext.apply(this, [].slice.call(arguments));
};
$.ajax
-$.ajax
, jQuery ... он, вероятно, не использует нагрузку XHR