Javascript 当我右键单击页面,然后在Chrome中单击“另存为…”时,为什么XMLHttpRequest被中止?

Javascript 当我右键单击页面,然后在Chrome中单击“另存为…”时,为什么XMLHttpRequest被中止?,javascript,google-chrome,xmlhttprequest,Javascript,Google Chrome,Xmlhttprequest,以下是用于测试的JSFIDLE: 右键单击结果面板并单击“另存为…”,您将看到结果 有人知道问题出在哪里吗?看来,在setTimeout中发出新请求可以防止XHR被取消。我在这里编写了一个测试,您可以在其中进行尝试: 下面是SendXHR.php fwiw: <? sleep(2); echo ", World"; 未选中复选框时,单击“另存为”将停止请求周期。 选中复选框后,“另存为”不会中断请求。嘿,罗伯特,很高兴在这里见到你:这是一个修复程序,用于浏览器中止所有后续XHR,但当前的

以下是用于测试的JSFIDLE: 右键单击结果面板并单击“另存为…”,您将看到结果


有人知道问题出在哪里吗?

看来,在setTimeout中发出新请求可以防止XHR被取消。我在这里编写了一个测试,您可以在其中进行尝试:

下面是SendXHR.php fwiw:

<?
sleep(2);
echo ", World";
未选中复选框时,单击“另存为”将停止请求周期。
选中复选框后,“另存为”不会中断请求。

嘿,罗伯特,很高兴在这里见到你:这是一个修复程序,用于浏览器中止所有后续XHR,但当前的XHR仍在中止。漂亮的测试页面: