0

jquery の ajax 呼び出しを介して grails アクションからデータを受け取りたいです。
今まで、文字列を受け取るためだけに ajax 呼び出しを使用していましたが、今はいくつかのリスト (多数のリスト) を受け取りたいと考えています。
これが私の行動です

def getSpecificData() {
        **some code here**
        render (list:[10,20,30,40],list2:[20,30,40]);
    }

私のjquery呼び出し:

jQuery.ajax({
                    type: 'POST',
                    url: graphUrl,
                    data: "xaxis="+$(this).val(),
                    async: true,
                    success: function(response,textStatus){
                        console.log(response);

                     },
                    error:function(XMLHttpRequest,textStatus,errorThrown){}
                });

コンソールログは['list':[10, 20, 30, 40], 'list2':[20, 30, 40]] 基本的に文字列のみですが、応答として2つのリストが欲しいのですが、可能ですか?
list1 と list2 が応答データとして欲しいです。そうする方法はありますか?
リスト(2つのリストに対して2つの要素)からjsonを作成し、json文字列を配列に変換できると思います。
しかし、それは混乱しているように見えるので、誰かがより良いアイデアを持っていますか?

4

1 に答える 1

1

サーバーに、リストを JSON としてマップをレンダリングさせます。

render ([list:[10,20,30,40],list2:[20,30,40]] as JSON)

JSON コンバーターをインポートする必要がある場合があります。

import grails.converters.JSON

次に、AJAX を次のようにします。

jQuery.ajax({
                type: 'POST',
                url: graphUrl,
                data: "xaxis="+$(this).val(),
                async: true,
                dataType: "",
                success: function(dataReceived,textStatus){
                    console.log('list:', dataReceived.list);
                    console.log('list2:', dataReceived.list2);
                 },
                error:function(XMLHttpRequest,textStatus,errorThrown){}
            });

省略形のjQuery.post(url, data, successCallback)の使用を検討することをお勧めします。

于 2013-10-22T10:58:37.010 に答える