Я пытаюсь создать script, который будет выступать в качестве прокси-оболочки для собственного объекта XMLHttpRequest
, позволяя мне перехватить его, изменить ответный текст и вернуться к исходному событию onreadystatechange.
Контекст, если данные, которые приложение пытается получить, уже доступно в локальном хранилище, чтобы прервать XMLHttpRequest
и передать локально сохраненные данные обратно в методы обратного вызова успеха/отказа приложений. Предположим, что у меня нет контроля над существующими методами обратного вызова AJAX.
Я изначально попробовал следующую идею.
var send = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(data){
//Do some stuff in here to modify the responseText
send.call(this, data);
};
Но, как я уже установил, responseText читается только.
Затем я попытался сделать шаг назад, написав собственный собственный собственный прокси-сервер до XMLHttpRequest
, в конечном итоге закончив тем, что написал собственную версию собственных методов. Подобно тому, что обсуждается здесь...
http://www.ilinsky.com/articles/XMLHttpRequest/#implementation-wrapping
Но он быстро запутался и все еще испытывает трудности с возвратом измененных данных обратно в оригинальный метод onReadyStateChange
.
Любые предложения? Возможно ли это?