6

私はList<int>自分から自分にを渡そうとしViewていControllerます。さまざまなパラメータを使用して、複数の方法を試しました。運がない。

{[4,5,13]}現在、パラメータを使用してメソッドに渡そうとしていますList<int> ids

数字のリストまたは配列を送信するための正しい形式は何ですか?

4

2 に答える 2

7

私はあなたがこのようなものを渡す必要があると信じています:

{"ids":[4,5,13]}

AJAXを使用している場合は、traditionaltrueに設定する必要があったことを覚えています(jquery ajaxのドキュメントを参照)。これは、パラメーターを適切に解析できるようにするためです。

于 2012-04-18T22:14:51.243 に答える
3

AJAXの方法:

AJAXのjqueryドキュメントから:

データ

タイプ: PlainObjectまたはString
サーバーに送信されるデータ。まだ文字列でない場合は、クエリ文字列に変換されます。GETリクエストのURLに追加されます。この自動処理を防ぐには、processDataオプションを参照してください。オブジェクトはキー/値のペアである必要があります。値が配列の場合、jQueryは、従来の設定(以下で説明)の値に基づいて、同じキーで複数の値をシリアル化します。

伝統的

タイプ:ブール値従来のスタイルのパラメーターシリアル化
を使用する場合は、これをtrueに設定します。

var roleList = new Array();
var usrId = "testuser";

/* one  way of adding items to array */
roleList.push(1);
roleList.push(5);
roleList.push(8);

$.ajax({
            type: "POST",
            traditional: true, /* I M P O R T A N T */
            url: /* url to controller goes here */,
            data: { userId: usrId, allowedRoles: roleList },
            success: function(returndata) {
                alert("Done");
            },
            error: function(returndata) {
                alert("Error:\n" + returndata.responseText);
            }
        });
于 2013-04-29T16:19:35.230 に答える