GET
: $.get(..)
POST
: $.post()..
Qu'en est-il de PUT/DELETE
?
Vous pouvez utiliser la méthode ajax :
$.ajax({
url: '/script.cgi',
type: 'DELETE',
success: function(result) {
// Do something with the result
}
});
$.ajax
fonctionnera.
$.ajax({
url: 'script.php',
type: 'PUT',
success: function(response) {
//...
}
});
Nous pouvons étendre jQuery pour créer des raccourcis pour PUT et 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
});
};
});
et maintenant vous pouvez utiliser:
$.put('http://stackoverflow.com/posts/22786755/edit', {text:'new text'}, function(result){
console.log(result);
})
copier de ici
Semble être possible avec / La fonction ajax de JQuery 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.
Consultez cette question pour plus d'informations sur la compatibilité:
Les méthodes PUT, DELETE, HEAD, etc. sont-elles disponibles dans la plupart des navigateurs Web?
De 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');
}
});
Il s’agit essentiellement d’une copie de $.post()
avec le paramètre de méthode adapté.
Voici un appel ajax mis à jour pour utiliser JSON avec 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
}
});
Vous devriez pouvoir utiliser jQuery.ajax
:
Chargez une page distante à l'aide d'un HTTP demande.
Et vous pouvez spécifier quelle méthode doit être utilisée, avec l’option type
:
Le type de demande à effectuer ("
POST
" ou "GET
"), par défaut, "GET
".
Note: Autre Méthodes de requête HTTP, telles quePUT
etDELETE
, peut également être utilisé ici, mais ils ne sont pas supportés par tous les navigateurs.
cherche param type
D'autres méthodes de requête HTTP, telles que PUT et DELETE, peuvent également être utilisées ici, mais elles ne sont pas prises en charge par tous les navigateurs.
Pour être bref:
$.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
});
}
Vous pouvez le faire avec AJAX!
Pour la méthode PUT
:
$.ajax({
url: 'path.php',
type: 'PUT',
success: function(data) {
//play with data
}
});
Pour la méthode DELETE
:
$.ajax({
url: 'path.php',
type: 'DELETE',
success: function(data) {
//play with data
}
});
J'ai écrit un plugin jQuery qui intègre les solutions discutées ici avec une prise en charge multi-navigateurs:
https://github.com/adjohnson916/jquery-methodOverride
Vérifiez-le!
Vous pouvez inclure dans vos données un hash appelé _method avec la valeur 'delete'.
Par exemple:
data = { id: 1, _method: 'delete' };
url = '/products'
request = $.post(url, data);
request.done(function(res){
alert('Yupi Yei. Your product has been deleted')
});
Cela s'appliquera également pour
Si vous devez faire fonctionner un $.post
avec un Laravel Route::delete
ou Route::put
, ajoutez simplement un argument "_method"="delete"
ou "_method"="put"
.
$.post("your/uri/here", {"arg1":"value1",...,"_method":"delete"}, function(data){}); ...
Doit fonctionner pour d'autres
Remarque: testé avec Laravel 5.6 et jQuery 3
Voici une simple ligne que j'utilise pour mettre plus d'une variable:
$.put("https://your-url.com",{item1:'new item1',item2:'new items2'});
1) GET: - Utilisé lorsque le client demande une ressource sur le serveur Web.
2) HEAD: - Utilisé lorsque le client demande des informations sur une ressource mais ne demande pas la ressource elle-même.
3) POST: - Utilisé lorsque le client envoie des informations ou des données au serveur - par exemple, pour remplir un formulaire en ligne (c.-à-d. Envoie une grande quantité de données complexes au Web Server).
4) PUT: - Utilisé lorsque le client envoie un document de remplacement ou télécharge un nouveau document sur le serveur Web sous l'URL de la demande.
5) DELETE: - Utilisé lorsque le client tente de supprimer un document du serveur Web, identifié par l'URL de la demande.
6) TRACE: - Utilisé lorsque le client demande aux serveurs mandataires disponibles ou intermédiaires de modifier la demande pour s’annoncer eux-mêmes.
7) OPTIONS: - Utilisé lorsque le client souhaite déterminer d'autres méthodes disponibles pour récupérer ou traiter un document sur le serveur Web.
8) CONNECT: - Utilisé lorsque le client souhaite établir une connexion transparente avec un hôte distant, généralement pour faciliter la communication cryptée SSL (HTTPS) via un proxy HTTP.