Como enviar uma solicitação PUT / DELETE no jQuery?

GET : $.get(..)

POST : $.post()..

E quanto a PUT/DELETE ?

Você poderia usar o método ajax :

 $.ajax({ url: '/script.cgi', type: 'DELETE', success: function(result) { // Do something with the result } }); 

$.ajax funcionará.

 $.ajax({ url: 'script.php', type: 'PUT', success: function(response) { //... } }); 

Podemos estender o jQuery para criar atalhos para PUT e 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 }); }; }); 

e agora você pode usar:

 $.put('http://stackoverflow.com/posts/22786755/edit', {text:'new text'}, function(result){ console.log(result); }) 

copie daqui

Parece ser possível com a function ajax do JQuery especificando

type: "put" ou type: "delete"

e não é suportado por todos os navegadores, mas a maioria deles.

Confira esta pergunta para mais informações sobre compatibilidade:

Os methods PUT, DELETE, HEAD, etc estão disponíveis na maioria dos navegadores da web?

A partir daqui , você pode fazer isso:

 /* 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'); } }); 

É basicamente apenas uma cópia de $.post() com o parâmetro do método adaptado.

Você deve poder usar o jQuery.ajax :

Carregue uma página remota usando uma solicitação HTTP.

E você pode especificar qual método deve ser usado, com a opção type :

O tipo de solicitação a ser feita (” POST ” ou ” GET “), o padrão é ” GET “.
Nota: Outros methods de solicitação HTTP, como PUT e DELETE , também podem ser usados ​​aqui, mas não são suportados por todos os navegadores.

ajax ()

procure por tipo de param

Outros methods de solicitação HTTP, como PUT e DELETE, também podem ser usados ​​aqui, mas não são suportados por todos os navegadores.

Aqui está uma chamada ajax atualizada para quando você estiver usando JSON com 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 } }); 

Você pode fazer isso com o AJAX!

Para o método PUT :

 $.ajax({ url: 'path.php', type: 'PUT', success: function(data) { //play with data } }); 

Para o método DELETE :

 $.ajax({ url: 'path.php', type: 'DELETE', success: function(data) { //play with data } }); 

Por brevidade:

 $.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 }); } 

Eu escrevi um plugin jQuery que incorpora as soluções discutidas aqui com suporte cross-browser:

https://github.com/adjohnson916/jquery-methodOverride

Confira!

Você pode include em seus dados hash uma chave chamada: _method com o valor ‘delete’.

Por exemplo:

 data = { id: 1, _method: 'delete' }; url = '/products' request = $.post(url, data); request.done(function(res){ alert('Yupi Yei. Your product has been deleted') }); 

Isto também se aplica para