Javascript ajax请求时请求方法的奇怪行为
我的控制器中有这样的方法Javascript ajax请求时请求方法的奇怪行为,javascript,java,ajax,spring,Javascript,Java,Ajax,Spring,我的控制器中有这样的方法 @Controller @RequestMapping ("/admin/users") public class AdminUserController { .. @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) public @ResponseBody boolean deleteUser(@PathVariable("id") int id,
@Controller
@RequestMapping ("/admin/users")
public class AdminUserController {
..
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
public @ResponseBody boolean deleteUser(@PathVariable("id") int id,
HttpServletResponse response) {
..
}
..
}
这是ajax请求
$.ajax({
url: '/admin/users/'+id,
type: 'delete',
success: function(data){
console.log(data);
},
error: function(e){
console.log(e);
}
});
当我发送这个请求时,它失败了,我得到405。当我查看响应标题时,我看到了这个Allow:“GET”
嗯。我将ajax请求中的“delete”更改为“get”,但随后我得到了响应Allow:“delete”
它可以是什么?我认为您的服务器安全配置不允许删除操作,基本上是头:
ALLOW: GET
建议您改为尝试GET请求,但由于您指定
method = RequestMethod.DELETE
Spring拒绝了对该方法的GET调用
您应该将method=RequestMethod.DELETE
更改为method=RequestMethod.GET
并发出HTTP GET请求
让我知道这是否有帮助