ホームページ.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