restful 删除方法 报错 找不出来帮忙看一下拉拉?报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

restful 删除方法 报错 找不出来帮忙看一下拉拉?报错

爱吃鱼的程序员 2020-06-08 11:53:03 76

 这是前台ajax的post请求

$.post("/rest/user",{id:"ids","_method":"DELETE"}, function(data){
   if(data){
      $.messager.alert('提示','删除会员成功!',undefined,function(){
        	$("#userList").datagrid("reload");
       });
   }
});

web.xml内容

     <!-- 
		将POST请求转化为DELETE或者是PUT
		要用_method指定真正的请求参数
	 -->
	<filter>
		<filter-name>HiddenHttpMethodFilter</filter-name>
		<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>HiddenHttpMethodFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

后台删除的方法

   /**
     * 删除用户
     * 
     * @param user
     * @return
     */
    @RequestMapping(method = RequestMethod.DELETE)
    public ResponseEntity<Boolean> deleteUser(@RequestParam(value = "id",defaultValue = "0") Long id) {
        Boolean bool = false;
        try {
            if(id.longValue() == 0){
                //没有传递参数,响应状态码400
                return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(bool);
            }
            bool = this.userService.deleteUser(id);
            if(bool){
                //删除成功响应204
                return ResponseEntity.status(HttpStatus.NO_CONTENT).body(bool);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        //删除失败,或出错,响应500
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(bool);
    }

浏览器报错

HTTP Status 405 - Request method 'GET' not supported

求解答啊  不是很了解rest风格啊

前端开发 网络架构
分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-08 11:53:17

     

    用插件就没问题,关键就在于这个_methodDELETE

    来个大神给指点一二啊,我的天呢!!

    结帖

    jQuery的ajax本身就支持put、delete的,不用通过_method模拟吧

    ajax的dellete方式应该要和get方式的传参方式一样吧?

    建议不要使用这个删减版的Jqueryajax请求,直接使用$.ajax试试

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题