title: jquery ajax does not parse json on failure
body: <p>jQuery's jqXHR object passed to the callback on failure does not parse json responses, therefore responseJSON is undefined only responseText is available.</p>
  
  <p>It works fine for successful requests, I am setting the correct headers using <code>dataType: 'json'</code> </p>
  
  <p>Call:</p>
  
  <pre><code>  $.ajax({
      type: 'POST',
      url: $form.attr('action'),
      data: post_data,
      dataType: 'json',
      done: done_callback,
      fail: fail_callback,
      always: always_callback
    });
  </code></pre>
  
  <p>Request Headers: </p>
  
  <pre><code>Accept:application/json, text/javascript, */*; q=0.01
  X-Requested-With:XMLHttpRequest
  User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.83 Safari/535.11
  </code></pre>
  
  <p>Response Headers:</p>
  
  <pre><code>Content-Type:application/json;charset=utf-8
  Status:500
  </code></pre>
  
  <p>responseText: </p>
  
  <pre><code>{"status":"error","code":500,"message":"A system error occurred, please try again later"}
  </code></pre>
  
  <p>responseJSON is undefined</p>
  
  <p><strong>Is it the case that jQuery does not parse json when the response to ajax requests is unsuccessful?</strong>
  <em>I cannot find any documentation to confirm or deny this behaviour (I could be just not looking hard enough)</em></p>
  
  <p>I can obviously just use <code>parseJSON</code> in the <code>fail</code> callback.</p>