ajax可以发delete,【转】AJAX发送 PUT和DELETE请求注意事项

jax使用restful服务发送put 和 delete 请求时直接传参会出现问题

一,采用POST  + _method:delete/put  + filter 的方法

ajax发送put 和 delete 请求时,需要传递参数,如果参数在url地址栏上,则可以正常使用,

如果在 data:中需要传递参数,(浏览器会使用表单提交的方式进行提交) 则需要注意此时应作如下修改:

1.  请求方式设置为    type:"post",

2. 在data中加入 __method:"DELETE",或者 _method:"PUT" 参数 ,

data:{_method:"DELETE", id:issueId,userId:userId},

3.后台的controller 仍为对应的DELETE 请求

@RequestMapping(value="/answer/{answerId}",method=RequestMethod.DELETE)

public ResponseResult deleteAnswer(@PathVariable("answerId")int answerId,Issue issue){

//可自动封装成对象时,可直接采用对象参数

}

4.需要配置相应的filter(如果使用Spring Boot 则会自动配置)

HiddenHttpMethodFilter

org.springframework.web.filter.HiddenHttpMethodFilter

HiddenHttpMethodFilter

你可能感兴趣的:(ajax可以发delete)