I've been going through the source to find out the critiera for jQuery.ajax()'s success/failure methods being called. It is not based solely on the status code, it seems to also involve the data type.
I always resort to writing custom error handlers using the 'complete'-callback.
Exactly which are the critera for the success/failure calls?