主页.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 是否是传递它的正确方法。我也知道 Jersey url 被点击了,因为我看到 null 打印出来了。有没有人有任何想法?
编辑:
当我做:
[~] 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,并且出于某种原因说“无内容”。
我也尝试过postvar[]
简单postvar
地放入 getParameterValues 方法,但没有运气。