質問: "OK") { console.log(responce); $('div[data-result=""]').html(JSON.stringify(responce)); } else { console.log(responce); $('div[data-result=""]').html(JSON.stringify(responce)); } return false; }, // レスポンス失敗時の処理 error: function(XMLHttpRequest, textStatus, errorThrown) { console.log(XMLHttpRequest); console.log(textStatus); console.log(errorThrown); $('div[data-result=""]').html(JSON.stringify("データ取得中にエラーが発生しました。")); return false; } }); // フォーカスをテキストボックスに合わせる $('input').focus(); return false; }); }); //追加してみた } ```
回答: やはり、そうでしたか。 Chunked Encodingは、レスポンスをストリーミングで返します。 つまり、データをある程度のサイズで分割してレスポンスを返します。 Chunked Encodingの場合、途中のデータのレスポンスではreadyStateが3となります。(たしか) $.ajaxでは、readyStateが4しか処理しないため、普通のやり方だとChunked Encodingを処理することができません。 このブログに書かれているようにxhrFieldsを使って、チャンクデータを取得することができます。 $.ajaxをどうしても使用しなければならないということじゃなければ、普通にxhrを使用して実装したほうがいいかと。 xhrでの実装例