客户端如何模拟delete方法,请求数据?
2012-08-31 11:34
716 查看
在Rest接口定义中,删除数据都是使用delete方法请求,但大部分浏览器并不支持该方法请求,该如何做?
Rails使用的方法使用Post模拟delete方法
delete 方法其实是post 方法,不过在传递参数的时候,需要增加如下的字段
所以,不要使用get请求 delete方法,需要使用post,并且带上一个额外的参数 _method=delete 即可
当然,还需要增加 csrf_param 的值,否则,该操作无法完成。
jquery_ujs的具体实现如下
Rails使用的方法使用Post模拟delete方法
delete 方法其实是post 方法,不过在传递参数的时候,需要增加如下的字段
_method: delete
所以,不要使用get请求 delete方法,需要使用post,并且带上一个额外的参数 _method=delete 即可
当然,还需要增加 csrf_param 的值,否则,该操作无法完成。
jquery_ujs的具体实现如下
// Handles "data-method" on links such as: // <a href="/users/5" data-method="delete" rel="nofollow" data-confirm="Are you sure?">Delete</a> handleMethod: function(link) { var href = rails.href(link), method = link.data('method'), target = link.attr('target'), csrf_token = $('meta[name=csrf-token]').attr('content'), csrf_param = $('meta[name=csrf-param]').attr('content'), form = $('<form method="post" action="' + href + '"></form>'), metadata_input = '<input name="_method" value="' + method + '" type="hidden" />'; if (csrf_param !== undefined && csrf_token !== undefined) { metadata_input += '<input name="' + csrf_param + '" value="' + csrf_token + '" type="hidden" />'; } if (target) { form.attr('target', target); } form.hide().append(metadata_input).appendTo('body'); form.submit(); },
相关文章推荐
- ASP模拟POST请求异步提交数据的方法
- 用node.js搭建服务器,模拟返回json数据供客户端get,post请求使用
- ajax中如何将utf-8编码的数据请求发送到gbk编码应用的解决方法
- 一个模拟304机制的方法——针对一次超大数据的post请求
- 使用delete方法接收客户端提交的delete请求
- HTTP协议语意 客户端如何请求服务器资源,HTTP方法列表(读RESTful webApi笔记)
- CASE函数 sql server——分组查询(方法和思想) ref和out 一般处理程序结合反射技术统一执行客户端请求 遍历查询结果集,update数据 HBuilder设置APP状态栏
- httpclient模拟post请求json封装表单数据的实现方法
- ASP模拟POST请求异步提交数据的方法
- HTTP客户端之使用request方法向其他网站请求数据
- ajax中如何将utf-8编码的数据请求发送到gbk编码应用的解决方法
- HTTP客户端之使用request方法向其他网站请求数据
- vue项目的webpack设置请求模拟数据的接口方法
- 三种方法教你如何用PHP模拟post提交数据
- 通过Openlayers中getGetFeatureInfoUrl方法请求WMS服务数据到客户端(Browser)(基于Geoserver服务器)
- ABP PUT、DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词) 引发客户端错误 No 'Access-Control-Allow-Origin' header is present on the requested resource
- 干货 | 如何使用Python模拟客户端发送http2.0请求?
- 客户端提交查询请求成功后如何向服务器返回数据
- 如何用PHP模拟POST方法 采集提交后的数据
- vue开发请求本地模拟数据的配置方法