Перехват и изменение ответа XHR - PullRequest
0 голосов
/ 21 апреля 2019

Я использую этот код JavaScript для перехвата и изменения XmlHttpRequest.Он отлично работает с запросом, но не работает с ответом.Я не могу изменить ответы, как мне это сделать?

let oldXHROpen = window.XMLHttpRequest.prototype.open;
window.XMLHttpRequest.prototype.open = function(method, url, async, user, password) {


       if (url.startsWith(\"{$_baseurl}\")) {
            url = url.replace(\"{$_baseurl}\", \"{$request_url}\");

        } else if (url.startsWith(\"http://\") || url.startsWith(\"https://\")) {
            // do nothing with the url
        } else if (url.startsWith(\"//\")) {
           url = \"https:\" + url;


        } else if (url.startsWith(\"/\")) {
            url = \"{$request_host}\" + url;

        } else if (url.startsWith(\".\")) {
            url = \"{$request_host}\" + url.replace(\"./\", \"/\");

        } else {
            url = \"{$request_url}\" + url;

        }



 this.addEventListener('load', function() {


  //console.log('load: ' + this.responseText);

 });

 return oldXHROpen.apply(this, arguments);
}

Я пробовал это, но это не сработало

 this.addEventListener('load', function() {

    var jsonResponse = JSON.parse(this.responseText);

  jsonResponse.pageUrl = 'TEST'+jsonResponse.pageUrl;
 }

** $ base url и $ request_uri динамически размещаютсяphp так они отформатированы так

...