title: Why is jqXHR.responseText returning a string instead of a JSON object?
body: <p>I have an $.ajax() request with the dataType set to "json." The server is returning JSON with the correct mime type of "application/json." And yet the responseText in my jqXHR object is always a string. What am I doing wrong? Is this how it's supposed to work?</p>
  
  <p>Here's how I'm making the call:</p>
  
  <pre><code>var options = { 
      dataType:'json',
      type: 'GET',
      url: "http://example.com/api/"
  };
  
  var key = "PassToCallback";
  
  var jqXHRObject =  $.ajax(options).then(
      function(data, textStatus, jqXHR, key) {
          this.success(data, textStatus, jqXHR, key);
      },
      function(jqXHR, textStatus, errorThrown) { 
          this.error(jqXHR, textStatus, errorThrown);
      }
  );
  
  console.log(jqXHRObject.getResponseHeader("content-type")); // application/json
  console.log(typeof jqXHRObject.responseText); // string
  </code></pre>
  
  <p>So I have have to do a <code>$.parseJSON(jqXHRObject.responseText)</code> to get an actual object. This seems unnecessary as $.ajax() should be automatically converting responseText according to the docs. Thanks!</p>