GET
:$.get(..)
POST
:$.post()..
PUT/DELETE
はどうですか?
ajax メソッドを使うことができます。
$.ajax({
url: '/script.cgi',
type: 'DELETE',
success: function(result) {
// Do something with the result
}
});
$.ajax
は動作します。
$.ajax({
url: 'script.php',
type: 'PUT',
success: function(response) {
//...
}
});
PUTとDELETEのショートカットを作成するためにjQueryを拡張することができます。
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);
})
JQueryのajax関数 を指定することで可能と思われる
type: "put"
またはtype: "delete"
また、すべてのブラウザでサポートされているわけではありませんが、ほとんどのブラウザでサポートされています。
互換性に関する詳細については、この質問をチェックしてください。
ここ から、これを行うことができます。
/* 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');
}
});
それは基本的にはmethodパラメータが適合した$.post()
の単なるコピーです。
更新された ajax は、jQuery> 1.9でJSONを使用しているときに呼び出します。
$.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
"です。
注:PUT
やDELETE
などの他のHTTP要求メソッドもここで使用できますが、すべてのブラウザでサポートされているわけではありません。
簡潔にするために:
$.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
});
}
あなたはそれを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
}
});
私はクロスブラウザサポートでここで議論された解決策を組み込んだjQueryプラグインを書きました:
https://github.com/adjohnson916/jquery-methodOverride
見てみな!
あなたのデータハッシュに、値 'delete'を持つ_methodと呼ばれるキーを含めることができます。
例えば:
data = { id: 1, _method: 'delete' };
url = '/products'
request = $.post(url, data);
request.done(function(res){
alert('Yupi Yei. Your product has been deleted')
});
これはまた適用されます
$.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でテスト済み
これは私が2つ以上の変数を置くために使う簡単なワンライナーです:
$.put("https://your-url.com",{item1:'new item1',item2:'new items2'});
1)GET: - クライアントがWebサーバー上のリソースを要求しているときに使用されます。
2)HEAD: - クライアントがリソースに関する情報を要求しているがリソース自体を要求していない場合に使用されます。
3)POST: - クライアントが情報またはデータをサーバに送信しているとき、例えばオンラインフォームに記入するとき(すなわちウェブサーバに大量の複雑なデータを送信するとき)に使用される。
4)PUT: - クライアントが代替URLを送信しているとき、またはリクエストURLでWebサーバーに新しい文書をアップロードしているときに使用されます。
5)DELETE: - クライアントがWebサーバーからドキュメントを削除しようとしているときに使用されます。リクエストURLによって識別されます。
6)TRACE: - クライアントが利用可能なプロキシまたは中間サーバーに自分自身をアナウンスするように要求を変更するように要求しているときに使用されます。
7)OPTIONS: - クライアントがWebサーバー上の文書を検索または処理するための他の利用可能な方法を決定したいときに使用されます。
8)CONNECT: - 通常HTTPプロキシを介したSSL暗号化通信(HTTPS)を容易にするために、クライアントがリモートホストへの透過的な接続を確立するときに使用されます。