我基本上使用POST请求传递数据,但REsource端的值始终为null。
这是我的JQuery:
function doUpdate(path, rdf)
{
var myObj = {"path": path, "rdf": rdf};
var sUrl = "http://localhost:8080/browsing/services/RDF/update";
$.ajax({
type: "POST",
url: sUrl,
contentType: "application/json",
data: myObj,
dataType: "json",
async: false,
success: function parse(resp, status, xhr) {
$("#message").html("STATUS: " + xhr.status + " " + xhr.statusText + "\n" + resp);
$("#message").hide();
$("#login_message").html("<font color='green'><b>Record succesfully updated</b></font>d");
},
error: function(resp, status, xhr){
$("#message").html("ERROR: " + resp.status + " " + resp.statusText + "\n" + xhr);
$("#message").show();
}
});
}
REST资源:
@POST
@XmlElement(name = "contentbean")
@Path("/update")
@Produces(MediaType.APPLICATION_JSON)
public void update(@QueryParam("path") String Path, @QueryParam("rdf") String Content) {
...
}
任何线索我做错了什么?
谢谢,
修改
另外在Firefox中使用Poster我在REST资源上看到空值,所以独立形成我的Javascript代码,似乎在REST方面存在一些错误。
答案 0 :(得分:0)
删除 dataType:“json”,,它会正常工作
答案 1 :(得分:0)
您可以阅读以下内容
@POST
@XmlElement(name = "contentbean")
@Path("/update")
@Produces(MediaType.APPLICATION_JSON)
public void update(Contentbean contentbean) {
}
其中Contentbean是一个(POJO)类,根据你从ajax发送的数据用@XmlRootElement注释。