GET
:使用$.get(..)
方法。
POST
:使用$.post()..
方法。
PUT/DELETE
怎么办?
GET
:使用$.get(..)
方法。
POST
:使用$.post()..
方法。
PUT/DELETE
怎么办?
$.ajax({
url: '/script.cgi',
type: 'DELETE',
success: function(result) {
// Do something with the result
}
});
PUT
或DELETE
请求返回404错误,则需要在IIS中启用这些动词。我发现这是一个不错的资源:http://geekswithblogs.net/michelotti/archive/2011/05/28/resolve-404-in-iis-express-for-put-and-delete-verbs.aspx - TimDogurl:urlCall + '?' + $.param({"Id":Id,"bolDeleteReq":bolDeleteReq})
(请参见他的评论中的链接以获取完整示例)。 - chamberlainpi$.ajax
会起作用。
$.ajax({
url: 'script.php',
type: 'PUT',
success: function(response) {
//...
}
});
contentType: "application/json"
。 - KingRider我们可以扩展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);
})
从这里复制
type: "put"
或type: "delete"
,但并非所有浏览器都支持,大多数浏览器都支持。请查看此问题以获取有关兼容性的更多信息:PUT、DELETE、HEAD等方法在大多数Web浏览器中是否可用?
您可以从这里执行以下操作:
/* 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 > 1.9与JSON时,以下是更新后的ajax调用:
$.ajax({
url: '/v1/object/3.json',
method: 'DELETE',
contentType: 'application/json',
success: function(result) {
// handle success
},
error: function(request,msg,error) {
// handle failure
}
});
jQuery.ajax
:
使用 HTTP 请求加载远程页面。
您可以使用 type
选项 指定要使用的方法:
要执行的请求类型(“
POST
”或“GET
”),默认为“GET
”。
注意:其他 HTTP 请求方法,例如PUT
和DELETE
,也可以在此处使用,但并非所有浏览器都支持。
PUT
或者DELETE
请求方法吗? - Lea Hayes简言之:
$.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
});
}
$.post
应用于Laravel的Route::delete
或Route::put
,只需添加一个参数"_method"="delete"
或"_method"="put"
即可。原始答案为"最初的回答"。$.post("your/uri/here", {"arg1":"value1",...,"_method":"delete"}, function(data){}); ...
必须适用于其他框架
注:已在Laravel 5.6和jQuery 3上测试通过