title: Preserving arguments when returning data from deferred.then()
body: <p>How can I pass more than 1 argument when returning data in a <a href="https://api.jquery.com/deferred.then/" rel="nofollow">deferred.then</a> callback?</p>
  
  <pre><code>var data = {
      json: JSON.stringify({
          text: 'some text',
          array: [1, 2, 'three'],
          object: {
              par1: 'another text',
              par2: [3, 2, 'one'],
              par3: {}
          }
      }),
      delay: 3
  };
  
  $.ajax({
      url:'/echo/json/',
      data: data,
      type: 'POST'
  }).then(function(response, statusText, jqXhr){
      response.text = 'foo';
      // how to return the rest of the arguments correctly?
      return response;
  }).done(function(response, statusText, jqXhr){
      console.log(response); // &lt;- altered response
      console.log(statusText); // &lt;- how to pass it along?
      console.log(jqXhr); // &lt;- how to pass it along?
  });
  </code></pre>
  
  <p><a href="http://jsfiddle.net/rv1aydvb/" rel="nofollow">http://jsfiddle.net/rv1aydvb/</a></p>