这个问题在这些论坛上被问过两次,但提供的答案对我不起作用。
问题是我的 JSP 页面正在返回并刷新少量输出。
我正在使用以下代码来读取输出:
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 3) {
alert(xmlhttp.responseText);
}
}
xmlhttp.open("POST", "download.jsp", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader('X-Requested-With', "XMLHttpRequest");
xmlhttp.send($('#submitDownloadForm').serialize());
在 Firefox 上,这可以正常工作,并且在此过程中我会收到 3 个警报。
但是,在基于 Webkit 的浏览器(例如 Chrome 和 Safari)上,我会收到第一个警报,但在该过程完成之前不会收到其他 2 个警报。
其他答案说更改Content-Type:text/plain
or Content-Type:application/octet-stream
,但如果我这样做,则readyState
直接跳转到 4 ,就好像该过程已立即完成一样。
我找不到任何解决方案。
非常感谢任何帮助,在此先感谢大家。