回答
你可以使用ajax方法:
$.ajax({
url: '/script.cgi',
type: 'DELETE',
success: function(result) {
// Do something with the result
}
});
似乎通过指定
type: "put"
或 type: "delete"
到有可能与JQuery's ajax function,而不是不是所有的浏览器都支持,但其中的大多数。
兼容性退房这个问题的详细信息:
Are the PUT, DELETE, HEAD, etc methods available in most web browsers?
您应该能够使用jQuery.ajax
:
负载使用HTTP请求 远程页面。
你可以指定哪些方法应该被使用,随着type
option:
请求的类型,使( “
POST
”或 “GET
”),默认是“GET
” 。
注意:其他 HTTP请求方法,如PUT
和DELETE
,也可以在这里使用,但是 它们不支持所有的 浏览器。
你知道哪些浏览器不支持'PUT'或'DELETE'? – 2011-08-10 19:55:12
破碎的,如果他们不能够HTTP:^) – XTL 2012-06-15 12:08:16
您可以在数据散列中包含一个名为__的方法,其值为'delete'。
例如:
data = { id: 1, _method: 'delete' };
url = '/products'
request = $.post(url, data);
request.done(function(res){
alert('Yupi Yei. Your product has been deleted')
});
这也将适用于
这只是一个职位。 – 2014-02-12 18:54:01
这将与rails一起工作,_method用于在POST上传输http方法(尽管您应该只在表单中使用它们 - 它们只能执行get/post)。 – opsb 2014-07-11 14:52:06
如果您使用POST方法从窗体执行此操作,这也可以与Laravel一起使用。 – 2015-02-07 19:00:21
从here,你可以这样做:
/* Extend jQuery with functions for PUT and DELETE requests. */
function _ajax_request(url, data, callback, type, method) {
if (jQuery.isFunction(data)) {
callback = data;
data = {};
}
return jQuery.ajax({
type: method,
url: url,
data: data,
success: callback,
dataType: type
});
}
jQuery.extend({
put: function(url, data, callback, type) {
return _ajax_request(url, data, callback, type, 'PUT');
},
delete_: function(url, data, callback, type) {
return _ajax_request(url, data, callback, type, 'DELETE');
}
});
它基本上只是一个方法参数的$.post()
副本适应。
我们可以扩展jQuery来让快捷方式PUT和DELETE:
jQuery.each([ "put", "delete" ], function(i, method) {
jQuery[ method ] = function(url, data, callback, type) {
if (jQuery.isFunction(data)) {
type = type || callback;
callback = data;
data = undefined;
}
return jQuery.ajax({
url: url,
type: method,
dataType: type,
data: data,
success: callback
});
};
});
,现在你可以使用:
$.put('http://stackoverflow.com/posts/22786755/edit', {text:'new text'}, function(result){
console.log(result);
})
副本从here
这真棒!非常感谢。我尝试了所有传统的$ .ajax变体,并没有任何运气。这工作像一个魅力。荣誉。 – mindtonic 2015-04-10 19:39:29
删除并不期望*数据*,而不是说$ .get和$ .post可以有不同的签名,而在这里你将它硬编码为一个 – 2016-08-30 11:33:42
@FranciscoPresencia - 1.删除不期望数据while put does ---->第三行处理这个场景 2. $ .get和$ .post可以有不同的签名 ---->这只是创建额外的jquery方法来删除和放置。获取和发布有他们自己的jquery方法。 – Mahesh 2018-01-10 03:02:28
你可以用AJAX做到这一点!
对于PUT
方法:
$.ajax({
url: 'path.php',
type: 'PUT',
success: function(data) {
//play with data
}
});
DELETE
对于方法:
$.ajax({
url: 'path.php',
type: 'DELETE',
success: function(data) {
//play with data
}
});
在发布这个答案之前,这已经说了几年了。这只是噪音,完全没有什么新意。 – 2018-01-14 08:45:01
为了简洁:
$.delete = function(url, data, callback, type){
if ($.isFunction(data)){
type = type || callback,
callback = data,
data = {}
}
return $.ajax({
url: url,
type: 'DELETE',
success: callback,
data: data,
contentType: type
});
}
PS:使用角速度
这里的一个ñ更新ajax打电话时您正在使用JSON与jQuery> 1.9:
$.ajax({
url: '/v1/object/3.json',
method: 'DELETE',
contentType: 'application/json',
success: function(result) {
// handle success
},
error: function(request,msg,error) {
// handle failure
}
});
- 1. Jquery Ajax请求不在IE中发送
- 2. 在循环中发送jquery ajax请求
- 3. jQuery AJAX请求在长请求中中止后重新发送
- 4. wit.ai - 如何在Java中发送请求?
- 5. 如何在AS3中发送GET请求?
- 6. 如何在OOP中发送AJAX请求?
- 7. 如何在rails中发送URL请求?
- 8. 如何在ZendFramework2中发送PUT请求?
- 9. 如何在android中发送soap请求?
- 10. 如何在python中发送post请求?
- 11. 未发送jQuery AJAX请求
- 12. jQuery发送URL请求
- 13. JQuery .ajax不发送请求
- 14. 如何从jQuery发送ajax请求请求
- 15. AngularJS如何发送请求?
- 16. 如何发送curl请求
- 17. 如何发送SAML请求?
- 18. 如何在http中发送数组请求请求
- 19. 如何在Facebook上发送请求?
- 20. 如何在URL请求发送阵列
- 21. 在发送下一个请求之前取消ajax请求? (jQuery)
- 22. QuickFix如何不发送重发请求?
- 23. Nodejs:如何发送发布请求?
- 24. 如何向HttpClient发送发布请求
- 25. 如何在发送用户请求之前注入HTTP请求
- 26. 如何在从jquery发送$ .get请求时启用CORS?
- 27. 如何在jQuery的标签发送Ajax请求
- 28. 如何通过jQuery访问请求中发送的变量?
- 29. 在烧瓶中发送发布请求
- 30. AsyncRestTemplate何时发送请求?
只是注意,如果您使用的是IIS Web服务器和jQuery的'PUT'或'DELETE'请求返回404错误,你将需要在IIS中启用这些动词。我发现这是一个很好的资源:http://geekswithblogs.net/michelotti/archive/2011/05/28/resolve-404-in-iis-express-for-put-and-delete-verbs.aspx – TimDog 2012-01-12 21:03:59
BE AWARE:''请求的类型(“POST”或“GET”),默认为“GET”注意:其他HTTP请求方法,例如PUT和DELETE,也可以在这里使用,但它们是不受所有浏览器支持。“#:http://api.jquery.com/jQuery.ajax/#options – andi 2013-12-02 08:11:28
@andi按照http://stackoverflow.com/questions/1757187/which-browsers-dont-support -a-http-delete-with-jquery-ajax来自IE6的任何浏览器都支持这些http方法。除非您正在开发*古代*浏览器,否则可以安全地使用超越“GET”和“POST”的http方法。 – 2015-05-06 18:51:51