XMLHttpRequest возвращает объект события вместо фактических данных

#javascript #ajax #xmlhttprequest #prototypejs

Вопрос:

Что я делаю -> удаление prototype.js из моего старого проекта.

в какой-то момент я столкнулся с этим:

 request = new Ajax.Request(hostUrl   "somethings/index/somethings", {
   method: "post",
   parameters: {'product-id': productId},
   onComplete: function(transport) {
                  console.log(transport);
                  console.log(typeof transport);
                           
               }
});
 

console.log(транспорт) здесь выводит объект с фактическими данными, с которыми я могу работать.
Раздел Fetch/XHR (инструменты разработчика) показывает, что статус равен 200, и я вижу ответ.

вывод на консоль выглядит так

 klass {request: klass, transport: XMLHttpRequest, readyState: 4, status: 200, statusText: "OK", …}
 

Я подумал, что перестроить это должно быть просто. Я сделал это:

             var ajx = new XMLHttpRequest();
            var params = JSON.stringify({'product-id': productId});
            var url = hostUrl   "somethings/index/somethings";
            console.log(params);
            console.log(typeof params);
            ajx.open("POST", url, true);
            ajx.onreadystatechange = function (transport) {
                if (ajx.readyState == 4) {
                    if (ajx.status == 200) {
                        console.log(transport);
                        console.log(typeof transport);
                    }
                    else if (ajx.status == 400) {
                        throw new Error('error 400');
                    }
                    else {
                        throw new Error('not 400, but still an error');
                    }
                }
                
                
            };

            ajx.send(params);
 

и тут я вижу нечто странное…
вывод console.log(транспорт) выглядит как объект события:

 Event {isTrusted: true, type: "readystatechange", target: XMLHttpRequest, currentTarget: XMLHttpRequest, eventPhase: 2, …}
 

Раздел Fetch/XHR (инструменты разработчика) показывает, что статус равен 200, но на вкладке «Ответ» ничего нет. Никаких ошибок в консоли.

Может быть, кто-нибудь сможет указать, в чем проблема..