17

jQuery を使用して JavaScript 配列をサーブレットに送信したいと思います$.ajax

var json=[1,2,3,4];
$.ajax({
            url:"myUrl",
            type:"POST",
            dataType:'json',
            success:function(data){
                // codes....
            },
            data:json

        });

私が使うとき

request.getParameter("json");
request.getParameterValues("json");

null を返します。

値にアクセスするにはどうすればよいですか?

4

4 に答える 4

36

配列を JS オブジェクトの値として送信すると、最終的に{json:[1,2,3,4]}.

var json=[1,2,3,4];
$.ajax({
    url:"myUrl",
    type:"POST",
    dataType:'json',
    data: {json:json},
    success:function(data){
        // codes....
    },
});

サーブレットでは、リクエスト パラメータ名の末尾に[].

String[] myJsonData = request.getParameterValues("json[]");

jQuery は、 PHP のような弱い型付け言語に対応するために、それらを追加します。

于 2012-11-05T22:59:48.907 に答える
0

配列を JSON 型に変換する必要があるため、 [] の代わりに読み取る必要があります

 var array = [ 1, 2, 3, 4 ];

これを行うには、電話する必要があります

 var json = JSON.stringify(array)

次に、それを ajax 呼び出しに渡すことができます

 $.ajax({ url:"myUrl",
          type:"POST",
          data: json,
          dataType:'json',
          success:function(data){
             // codes....
          }})
于 2012-11-05T23:01:21.750 に答える
-1

このようにJavaScriptデータオブジェクトを投稿する必要があります..

http://api.jquery.com/jQuery.post/

$.post("test.php", { name: "John", time: "2pm" },
   function(data) {
     alert("Data Loaded: " + data);
   });
于 2012-11-05T23:00:51.730 に答える