Ajaxリクエストを処理するための簡単なサーブレットを作成しました。サーバー側ではdoPost
が呼び出されますが、応答オブジェクトで設定したデータはクライアントに反映されません。 (実際、Firebugによれば、私はクライアント上で何も取得していません)。私は、Ajaxを処理するためにjQueryを使用しています。Ajax経由のサーブレット応答なし
クライアントコード:サーバー上で
$.post(
'/mapped/url?param=' + $('#eleId').val(),
function(data){
alert(data);
},
"xml"
);
:事前に
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("!!!In post!!!!");
// some calculations go here
response.setContentType("application/xml");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<data><param number=\"\"></param></data>");
response.setStatus(HttpServletResponse.SC_OK);
}
ありがとう!
は、サーバーのログを読み、一方及び他方を排除するためにweb.xml' 'から任意の' 'を削除します。レスポンスボディがすでにコミットされている場合、レスポンスステータスの設定は不可能です。あらかじめそれを行う必要がありますが、それでもなお、ステータス200を設定することは既定で既に行われています。その行を削除するだけです。 –
BalusC