web-dev-qa-db-ja.com

JQueryでPUT/DELETEリクエストを送信する方法

GET$.get(..)

POST$.post()..

PUT/DELETEはどうですか?

517
user198729

ajax メソッドを使うことができます。

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

$.ajax は動作します。

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

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

からコピー - ここ

71
Stepan Suvorov

JQueryのajax関数 を指定することで可能と思われる

type: "put"またはtype: "delete"

また、すべてのブラウザでサポートされているわけではありませんが、ほとんどのブラウザでサポートされています。

互換性に関する詳細については、この質問をチェックしてください。

PUT、DELETE、HEADなどのメソッドはほとんどのWebブラウザで利用できますか?

29
Pekka 웃

ここ から、これを行うことができます。

/* 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()の単なるコピーです。

9
user2503775

更新された 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
    }
});
7
moodboom

jQuery.ajax を使うことができるはずです。

HTTPリクエストを使ってリモートページをロードします。


そして、 typeオプション を使って、どのメソッドを使うべきかを指定することができます。

要求の種類( "POST"または "GET")、デフォルトは "GET"です。
注:PUTDELETEなどの他のHTTP要求メソッドもここで使用できますが、すべてのブラウザでサポートされているわけではありません。

5
Pascal MARTIN

ajax()

param type を探してください

PUTやDELETEなどの他のHTTP要求メソッドもここで使用できますが、すべてのブラウザでサポートされているわけではありません。

4
antpaw

簡潔にするために:

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

あなたはそれを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
  }
});
2
Xanarus

私はクロスブラウザサポートでここで議論された解決策を組み込んだjQueryプラグインを書きました:

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

見てみな!

1
AndersDJohnson

あなたのデータハッシュに、値 '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')
});

これはまた適用されます

1
mumoc

$.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でテスト済み

0
Marcos Regis

これは私が2つ以上の変数を置くために使う簡単なワンライナーです:

$.put("https://your-url.com",{item1:'new item1',item2:'new items2'});
0
David White

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)を容易にするために、クライアントがリモートホストへの透過的な接続を確立するときに使用されます。

0
harshit gupta