この質問は、これらのフォーラムで 2 回行われましたが、提供された回答がうまくいきません。
問題は、少量の出力を返したりフラッシュしたりする 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 つのアラートが表示されます。
ただし、Chrome や Safari などの Webkit ベースのブラウザーでは、最初のアラートは表示されますが、プロセスが完了するまで他の 2 つのアラートは表示されません。
他の回答では、Content-Type:text/plain
orを変更すると述べてContent-Type:application/octet-stream
いますが、これを行うとreadyState
、プロセスが即座に完了したかのように 4 に直接ジャンプします。
これに対する解決策が見つかりません。
どんな助けでも大歓迎です、事前にみんなに感謝します。