我试图使用jQuery Ajax删除记录并调用RESTful服务.但是当我执行时,我收到错误
The specified HTTP method is not allowed for the requested resource
(Method Not Allowed).
这可能是什么原因?
REST服务代码
@Path("/employee")
@DELETE
@Path("/{empNo}")
@Produces(MediaType.APPLICATION_JSON)
public void remove(@PathParam("empNo") short empNo) {
getEmployeeService().delete(empNo);
}
jQuery ajax代码
$(document).ready(function () {
var empNo = 9870;
$("#btnSubmit").click(function () {
$.ajax({
url: "http://localhost:8181/Test1/rest/employee",
type: "POST",
data: JSON.stringify(empNo),
contentType: "application/json; charset=utf-8",
dataType: "json",
})
});
});
解决方法:
使用DELETE类型并使用url传递empNo.由于删除方法只需要empNo,因此不需要数据,dataType.
$(document).ready(function () {
var empNo = 9870;
$("#btnSubmit").click(function () {
$.ajax({
url: "http://localhost:8181/Test1/rest/employee/" + empNo, // Pass empNo
type: "DELETE", // Use DELETE
// data: JSON.stringify(empNo), Commented these two.
// dataType: "json",
})
});
});