0

ホームページ.jsp:

<script type="text/javascript">
var startZArray = new Array();

function add()
{
  var startZ = $('#startZ').val();
  startZArray.push(startZ);
}

function submitP()
{
  $.ajax({
  type: "POST",
  url:"/horn/rest/main/schedule",
  data: startZArray,
  success:function()
  {alert('worked');}
  });
}
</script>

ホームページ.java

  @POST
  @Path("/schedule")
  public void tigerMessage(
      @Context final HttpServletResponse response,
      @Context final HttpServletRequest request) throws Exception
  {
    String[] myParams = request.getParameterValues("startZArray");
    System.out.println(myParams);
  }

残念ながら、myParams は null を出力します。add startZArray 内にデータが取り込まれていることはわかっています。しかし、 data: startZArray がそれを渡す適切な方法であるかどうかはわかりません。また、null が表示されるため、Jersey の URL がヒットしていることもわかります。誰にもアイデアはありますか?

編集:

私がする時:

[~] curl -i -X POST -d "{\"startZArray\":\"testMessage\"}" http://localhost:8080/horn/rest/main/schedule
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Date: Wed, 24 Apr 2013 20:15:18 GMT

私はまだnullを取得しているので、私のJavaコードに何か問題があると思いますか?

編集2:

submitP() メソッドのデバッグ用に更新しました。

function submitP()
    {
        var myarray = ['Element 1', 'Element 2', 'Element 3'] ;
        var dataobject = {
            postvar: myarray
        } ;

        $.ajax({
                    type: "POST",
                    url:"/horn/rest/main/schedule",
                    data: dataobject,
                    success:function()
                    {
                        alert('worked');
                     }
                });
    } 

firebug でコードを実行すると、出力ポストは次のようになります。

Paramaters:
postvar[]   Element 1
postvar[]   Element 2
postvar[]   Element 3

Source:
postvar%5B%5D=Element+1&postvar%5B%5D=Element+2&postvar%5B%5D=Element+3

投稿のステータスは 204 で、何らかの理由で「コンテンツがありません」と表示されていました。

また、 getParameterValues メソッドにpostvar[]単純に入れてみましたが、うまくいきませんでした。postvar

4

2 に答える 2

1

パラメータを使用してデータを送信していないため、それを取得することはできませんstartZArray

request.getParameterValues("startZArray");

これを試して -

$.ajax({
  type: "POST",
  url:"/horn/rest/main/schedule",
  data:{ "startZArray" : startZArray },
  success:function()
  {alert('worked');}
});
于 2013-04-24T19:55:36.320 に答える