Присоединение слушателя onprogress к XMLHttpRequest.upload останавливает отправку данных POST (wtf?) - PullRequest
0 голосов
/ 08 декабря 2018

Что это за хрень?

Этот код отправляет данные через запрос POST.Я знаю это, потому что мой Node-сервер получает куски.

let req = new XMLHttpRequest();
req.onload = () => {
    console.log("Done");
};

req.open('POST', location.origin + ':1337');
req.send('test');

Все хорошо и нормально .

ОДНАКО.Когда я изменяю его на этот

let req = new XMLHttpRequest();
req.onload = () => {
    console.log("Done");
};
req.upload.onprogress = (e) => {
    console.log("Progress");
};

req.open('POST', location.origin + ':1337');
req.send('test');

, он больше не отправляет данные.

Мой Node-сервер не является особенным.Это просто экземпляр httpServer, работающий на: 1337, console.log-ing получает полученные куски данных.

Что здесь происходит?Почему слушатель нарушил запрос?

1 Ответ

0 голосов
/ 08 декабря 2018

Оказывается, добавление слушателя заставляет браузер отправлять запрос OPTIONS заранее.Я не отвечал на это должным образом, теперь я.

Спасибо @sideshowbarker!

...