0

サーブレットへの以下のajax呼び出しがあります。

$.ajax({ 
type: "post",
url: registersubmit.RegisterServlet.json,
dataType: "json",   
data:$('#registrationForm').serialize(),          
success: function(msg) {  
           //   alert(msg.data);
           alert('success'+msg.message2);     
},
error: function (xhr, ajaxOptions, thrownError){
         alert('HAI');
         alert('BYE');
}  
});

サーブレットでjsonオブジェクトを使用する方法を教えてください

ありがとう、バラジ。

4

2 に答える 2

1

GSONライブラリを使用してJSON表現をJavaオブジェクトに、またはその逆に変換するために使用できるJavaライブラリを使用できます。

于 2012-10-21T15:56:33.340 に答える
1

ここには大きな誤解があります。ajaxリクエストを送信した方法は、サーバー側のJSONオブジェクトにはまったくなりません。すべてのデータはrequest.getParameter()通常の方法で利用できます。フォームの$.serialize()すべての入力値をJSONオブジェクトに収集するだけで$.ajax、通常の方法でHTTPクエリ文字列としてエンコードされることでバックグラウンドで実行されます。JSONオブジェクトは単なる中間形式であり、を使用してフォーム全体$.ajaxを非常に簡単に送信できます。

だから、のデータ

<form id="registrationForm" ...>
    <input name="foo" ... />
    <input name="bar" ... />
    <input name="baz" ... />
</form>

サーブレットでは、同期(通常の)送信の場合とまったく同じ方法で収集できます。

String foo = request.getParameter("foo");
String bar = request.getParameter("bar");
String baz = request.getParameter("baz");
// ...

このオプションは、応答を処理するデータ型としてdataTypejQueryに指示することに注意してください。リクエストによるデータの送信方法とはまったく関係ありません。通常の方法でHTTPリクエストパラメータとして送信されただけです。ドキュメントも参照してください。$.ajax()$.ajax()

参照:

于 2012-10-22T01:47:47.113 に答える