1

サーブレットをコントローラーとして使用し、jqueryを使用してサーバーにリクエストを送信しています。以下は私のjqueryリクエストです

$.post("login", {userName:$userName, password:$password}, function(data, textStatus) {
alert(textStatus);
});

そしてサーバーサイドで私は次のコードを書きました

response.setContentType("text/plain");
            PrintWriter out = response.getWriter();
            out.println("" + strError + "");
            out.flush();
            out.close();

サーブレットでエラーメッセージとエラーエラーステータスコードを設定し、jqueryで同じステータスコードを読み取りたい。どうすれば同じことを達成できますか?

4

2 に答える 2

0

サーバーから json でエンコードされた文字列を返すことができます。JavaサーブレットからJSONオブジェクトを返す方法

たとえば、次の json でエンコードされた文字列を送り返したとします。{'error': 'これは何らかのエラー メッセージです' }

次に、クライアント側で次のことを行います

$.post("login", {userName:$userName, password:$password}, function(data, textStatus) {
    alert(data.error); // your error message will show up here in the data object 
 },'json');
于 2012-05-04T15:52:37.880 に答える
0

Java サーブレットで HTTP ステータスを設定するには、次を使用する必要があります。

response.setStatus( code );

このcode部分はHttpServletResponse.SC_NOT_FOUND、エラー 404 (ページが見つかりません) をエミュレートするなど、いくつかの可能性があります。完全なリストはここにあります。

jQuery 側では、以下を使用できます。

$.post( 'login', { /* ... */ }, function( data, textStatus, xhrObject ) {
    // You can read the status returned with
    xhrObject.status;
} );

textStatus変数はステータスを保持していると思いますが、ドキュメントにはそれが何を返すことができるかについては何も書かれていません。

于 2012-05-04T16:00:19.527 に答える