2

ajax リクエストを介してマップを送信したいのですが、400 の不正なリクエストが返されます。私のデータは似ています。

var idss1 = [];
var idss2 = [];
var idss3 = [];
var idss4 = [];
var idss5 = [];


    map[id_1] = idss1;
    map[id_2] = idss2;
    map[id_3] = idss3;
    map[id_4] = idss4;
    map[id_5] = idss5;

すべてのキー (id_*) は文字列です

Ajax呼び出しは

$.ajax({
        type:"POST",
        url: myurl,
        dataType: "text",
        data : {allIds : map},
        success: function(response) {...}

サーバー側で私のメソッド署名は

public void myMethod(HttpServletRequest request, @RequestParam("allIds") Map<String, List<String>> ids) {
...
}

親切に私を助けてください、私は感謝します。

4

1 に答える 1

0

1) 数値だけが異なる変数名をプログラムに使用してはなりません。それが配列の目的です。配列内の要素の名前は、myArr[0]、myArr[1] などです。

2) Java では、オブジェクトの「シリアル化」と呼ばれるものを実行できます。シリアル化はオブジェクトを文字列に変換し、文字列は ajax リクエストで送信できます。次に、文字列をサーブレットでシリアル化解除して、文字列からオブジェクトを作成できます。

文字列へのシリアライゼーション: オブジェクトをバイナリ (デ) シリアライズして文字列にする方法は?

于 2013-05-14T07:11:04.160 に答える