Java Web服务参数为null
我遇到了一个奇怪的问题,即发送到web服务的数据为null,即使http请求中存在该值。以下是ajax和rest:Java Web服务参数为null,java,rest,Java,Rest,我遇到了一个奇怪的问题,即发送到web服务的数据为null,即使http请求中存在该值。以下是ajax和rest: $("#updateProfileInfo").click(function(e){ e.preventDefault(); var jobb = $("#jobbEditBox").val(); var bostad = $("#bostadEditBox").val(); var intressen = $("#intresseEditB
$("#updateProfileInfo").click(function(e){
e.preventDefault();
var jobb = $("#jobbEditBox").val();
var bostad = $("#bostadEditBox").val();
var intressen = $("#intresseEditBox").val();
alert(jobb);
alert(bostad);
alert(intressen);
$.ajax({
type: "post",
url: "http://localhost:8080/fakebook/fakebookrest/UserInfoService/json/edituserprofile",
data: {
"jobb" : jobb,
"bostad" : bostad,
"intressen" : intressen
},
success: function(data){
var jsonData = $.parseJSON(data);
alert(jsonData);
}
});
});
@POST
@Path("/json/edituserprofile")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public boolean produceJSON(
@QueryParam("jobb") String rawJobText,
@QueryParam("bostad") String rawCityText,
@QueryParam("intressen") String rawIntresseText,
@Context HttpServletRequest request)
{
System.out.println(rawJobText);
User user = (User) request.getSession().getAttribute("user");
System.out.println(""+user.getId());
if(user != null)
return userFacade.editProfileInformation(user.getId(), rawJobText, rawCityText, rawIntresseText);
else
return false;
}
其他一切都很好,没有错误。回调函数也被调用。唯一的问题是
System.out.println(rawJobText)的值
为空。您需要使用@FormParam而不是@QueryParam老实说,您不一定要使用@FormParam。您可以做的是转到防火墙并允许连接到web服务所在的端口。通过允许端口,防火墙不再阻止对数据的访问。如果您确信您的web服务是准确的,这将起作用。您可以使用Postman来测试您的web服务,并查看它应该返回的值。您能解释一下原因吗?好的,我现在看到了。POST方法仅适用于formparam