- - PR -
Httpステータスコードについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-11-26 09:49
お世話になっております。
現在StrutsとAjaxを使用してシステムを開発しているのですが、サーブレット側でHttpステータスコード(500)を設定してもブラウザ側でalertを使用し表示させると200になっています。なぜだか検討もつきません。どなたかご教授願います。 サーバー側(catch内容) try{ }catch(Exception e){ e.getStackTrace(); try{ PrintWriter out = response.getWriter(); out.println("error"); response.sendError( HttpServletResponse.SC_INTERNAL_SERVER_ERROR ); return (ActionForward)map.findForward("err"); }catch(Exception ee){ } } ブラウザ側(Ajax.Updeter) ajax = new Ajax.Updater( "hogehoge", hogehoge.do", { "method": "post", parameters:$("AForm").serialize(), onSuccess: function(request) { alert(request.readyState); alert(request.status);}, onFailure: function(request) { var errmsg = request.responseText; if(errmsg==""){ alert('読み込みに失敗しました'); }else{ alert(errmsg); } }, onException: function(request){ alert('通信成功後の処理でエラーを検出しました。'); } } ); |
|
投稿日時: 2008-11-26 14:56
・すでにクライアントにレスポンスヘッダのステータスコード部が送信済みの場合は、
後からステータスを変えることはできません ・return (ActionForward)map.findForward("err")の副作用は? |
|
投稿日時: 2008-11-26 16:54
ひろ@ya様へ
おっしゃるとおりステータスコードを設定する前にすでにレスポンスを返却していました。ものすごい凡ミスです。申し訳ありませんでした。 |
1