我正在从javascript向jaxrs发送一些参数,但我得到的所有jax都是null。
这是我的代码:
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public String sending(@QueryParam("var1") String var1,
@QueryParam("var2") String var2) {
System.out.println(var1+var2);
return var1 + var2;
}
我的Javascript:
xmlhttp.open("POST","link",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("var1=stack&var2=flow");
答案 0 :(得分:4)
您应该使用@FormParam
代替@QueryParam
。不同之处在于查询参数来自实际的URL,而表单参数位于正文中。即。
查询参数
POST /rest/resource?var1=stack&var2=flow HTTP/1.1
Form Params
POST /rest/resource HTTP/1.1
Content-Type: application/x-www-form-urlencoded
var1=stack&var2=flow
使用@QueryParam("var1")
会显示空值,因为您的请求在网址中没有查询参数。