这是前台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);
}
浏览器报错
求解答啊 不是很了解rest风格啊
用插件就没问题,关键就在于这个_methodDELETE
来个大神给指点一二啊,我的天呢!!
结帖
jQuery的ajax本身就支持put、delete的,不用通过_method模拟吧
ajax的dellete方式应该要和get方式的传参方式一样吧?
建议不要使用这个删减版的Jqueryajax请求,直接使用$.ajax试试
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。