将onprogress侦听器附加到XMLHttpRequest.upload可以停止发送POST数据(wtf?)

时间:2018-12-08 13:15:16

标签: javascript node.js upload xmlhttprequest

这是什么废话?

此处的代码通过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服务器并不特殊。这只是一个运行在:1337上的httpServer实例,console.log-ing接收到的数据块。

这是怎么回事?监听者为什么会中断请求?

1 个答案:

答案 0 :(得分:0)

结果发现添加侦听器会使浏览器事先发送OPTIONS请求。我现在没有正确回应。

感谢@sideshowbarker!