Перехватывает XMLHttpRequest и изменяет responseText
Я пытаюсь создать сценарий, который будет выступать в качестве прокси / оболочки для нативногоXMLHttpRequest
объект, позволяющий мне перехватить его, изменить responseText и вернуться к исходному событию 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);
};
Но, как я уже установил, текст ответа доступен только для чтения.
Затем я попытался сделать шаг назад, написав свой собственный полный проксиXMLHttpRequest
В конечном итоге я написал свою собственную версию нативных методов. Подобно тому, что обсуждается здесь ...
http://www.ilinsky.com/articles/XMLHttpRequest/#implementation-wrapping
Но это быстро запутало, и все еще трудно вернуть измененные данные обратно в оригинал.onReadyStateChange
метод.
Какие-либо предложения? Это вообще возможно?