2011-09-13 13 views
0

私はStruts2アプリケーションでjQuery.get/postメソッドを使用しています。jQuery.getまたはpostを使用してオブジェクトのリストを取得する方法

は、次のコードを参照してください。このURLは「成功」と「エラー」を返します。それはメソッドをヒットし、文字列(struts2)を返します。私はこれらの文字列にcontatinのJSPを作成しました。

しかし、私はこのアプローチを変更したいと思います。私はオブジェクトのリストを返す必要がある場合。私は何をしますか。オブジェクトのリストを返すメソッドがjQueryでどのように引き渡されるか。 JSONがどのように私を助けますか?私はそれにポインタが必要です。

私の要点が理解されることを願っています。

jQuery.post("register_user.action" , jQuery("#user_form").serialize(), 
    function(data){ 
     if (data == "success"){ 
      jQuery("#success").dialog("open"); 
     }else if (data == "error"){ 
      jQuery("#error").dialog("open"); 
     } 
    }); 
+0

リストで何をしますか?あなたは何を達成しようとしていますか? – momo

答えて

0

「JSONはどのように役立つのですか」という質問には答えにくいです。あなたがやっていることの具体的なコンテキストなしで、私は一般的な答えを提供することができます。 JSONはjavascriptオブジェクト表記法の略です。それは多くの用途を持っていますが、あなたの質問に比例して、XMLに付属する "膨満"を伴わずに、サーバーからクライアントにデータのシリアライズされた表現を送ることができます。現代のブラウザにはJSON over XMLを使用することのもう1つの利点があります。そのため、データの解析について心配する必要はありません。

クラスのプロパティのようなデータにアクセスします。

例を挙げると、JSONにシリアル化された「成功」という単一のBOOLプロパティを使用してオブジェクト(これは通常、このようなシナリオでは匿名オブジェクトを使用します)を返すことができます。あなたのJavaScriptで文字列の比較を避けることができます。私の個人的な意見では、コードはもっときれいになります。

jQuery.post("register_user.action" , jQuery("#user_form").serialize(), 
    function(data){ 
     if (data.success){ 
      jQuery("#success").dialog("open"); 
     }else{ 
      jQuery("#error").dialog("open"); 
     } 
    }); 

これは最も基本的な例です。シリアル化されたデータのリストをサーバーからクライアントに返すと、JSONはより強力になります。 JSONでコメントのリストを送信するとします。その後、jqueryテンプレートを使用してテンプレートとvualaに対してそのリストをバインドすることができます。手動ですべてのアイテムを繰り返し処理することなく、選択したフォーマットですぐにその日を表示できます。

私が言及したように、あなたが達成しようとしていることを正確にはわからないので、具体的にするのは難しいですが、これが助けてくれることを願っています。

関連する問題