jQueryでPUT, DELETEリクエストを送るメソッドを定義する

extend使って$.ajaxメソッドのラッパーを定義してやってるのが以下。

$.extend({
	"put" : function (url, data, success, error) {
		error = error || function() {}; 
		return $.ajax({
			"url" : url,
			"data" : data,
			"success" : success,
			"type" : "PUT",
			"cache" : false,
			"error" : error,
			"dataType" : "json"
		});
	},
	"del" : function (url, data, success, error) { 
		error = error || function() {};
		return $.ajax({
			"url" : url,
			"data" : data,
			"success" : success,
			"type" : "DELETE",
			"cache" : false,
			"error" : error,
			"dataType" : "json"
		});
	}
});

こんな風に使える。

$.put("http://foobar", {a : foo, b : bar}, function(data, text_status) { 
    // 成功した場合
}, function(request, text_status, error_thrown) {
    // 失敗した場合
});

delメソッドも同様に使える。
詳細は公式ドキュメント参照。

追記

deleteというメソッド名はoperaだと予約されてるみたいなのでdelに変更。

さらに追記

opera9.6でdelメソッドを使った場合、data引数に渡した値は無視される様。
jQueryのバージョンは1.32。