开发者社区> 问答> 正文

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

 这是前台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风格啊

展开
收起
爱吃鱼的程序员 2020-06-08 11:53:03 541 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

     

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

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

    结帖

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

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

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

    2020-06-08 11:53:17
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载