DELETE, PUT, GET and POST with jQuery

Example of how to do DELETE, PUT, GET and POST with jQuery and Rails REST type routing:

$.ajax({ 
	type: 'get', 
	url: '/subscriptions/' + id,
	data: "subscription[title]=" + encodeURI(value),
	dataType: 'script' 
}); 

$.ajax({ 
	type: 'POST', 
	url: '/subscriptions/' + id,
	data: "subscription[title]=" + encodeURI(value),
	dataType: 'script' 
}); 

$.ajax({ 
	type: 'PUT', 
	url: '/subscriptions/' + id,
	data: "subscription[title]=" + encodeURI(value),
	dataType: 'script' 
}); 

$.ajax({
	type: 'DELETE',
	url: url,
	data: 'subscription[id]=' + id,
	dataType: 'script'
});

The gotcha with DELETE is to specify the ID using the data parameter, otherwise you might get this error; at least with Rails 2.2.2, jQuery 1.3.1, FF 3:

/!\ FAILSAFE /!\  Mon Feb 16 13:57:52 +0200 2009
  Status: 500 Internal Server Error
  You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.attributes
    /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb:708:in get_attributes'
    /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb:462:in collapse'