596 votes

Comment envoyer un PUT/DELETE demande en jQuery?

GET:$.get(..)

POST:$.post()..

Qu'en PUT/DELETE?

985voto

Darin Dimitrov Points 528142

Vous pouvez utiliser de l' ajax méthode:

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

128voto

Jacob Relkin Points 90729

$.ajax fonctionnera.

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

75voto

STEVER Points 1545

Nous pouvons étendre jQuery pour faire des raccourcis pour les METTRE et de les SUPPRIMER:

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

et maintenant, vous pouvez utiliser:

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

copie à partir d' ici

30voto

Pekka 웃 Points 249607

Semble être possible avec JQuery ajax fonction en spécifiant

type: "put" ou type: "delete"

et n'est pas pris en charge par tous les navigateurs, mais la plupart d'entre eux.

Découvrez cette question pour plus d'info sur la compatibilité:

Sont le PUT, DELETE, TÊTE, etc méthodes disponibles dans la plupart des navigateurs web?

11voto

user2503775 Points 1390

À partir d' ici, vous pouvez faire ceci:

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

En gros, c'est juste une copie de $.post() avec le paramètre de méthode adaptée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X