Which one should I use?
Is there any reason to use one rather than the other?
Is one better for error handling?
$.ajax({
url: url,
Just to freshen this up...
The success and error approach have been deprecated as of jQuery 1.8.
jQuery Ajax
Deprecation Notice: The jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks are deprecated as of jQuery 1.8. To prepare your code for their eventual removal, use jqXHR.done(), jqXHR.fail(), and jqXHR.always() instead.