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请求

让我知道这是否有帮助