0

Struts2 アプリケーションで jQuery.get/post メソッドを使用しています。

次のコードを参照してください。この URL は「成功」と「エラー」を返します。メソッドにヒットし、文字列 (struts2) を返します。これらの文字列を含む 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");
        }
    });
4

1 に答える 1

0

「JSON はどのように役立ちますか?」という質問に答えるのは難しいです。あなたがしていることの具体的な文脈はありませんが、一般的な答えを提供できます。JSON は JavaScript オブジェクト表記の略です。多くの用途がありますが、質問に関連して、XMLに伴う「肥大化」なしで、データのシリアル化された表現をサーバーからクライアントに送信できます。XML ではなく JSON を使用するもう 1 つの利点は、最新のブラウザーに JSON のサポートが組み込まれているため、データの解析について心配する必要がないことです。

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

あなたの例を挙げると、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 templating を使用して、そのリストをテンプレートと vuala にバインドできます。すべての項目を手動で繰り返すことなく、選択した形式でその日をすばやく表示できます。

先に述べたように、あなたが何を達成しようとしているのか正確にはわからないので、具体的に言うのは難しいですが、これが役に立てば幸いです.

于 2011-10-28T05:42:52.250 に答える