title: Send parameters in request body instead in query string
body: <p>I have a problem with this method:</p>
  
  <pre><code> $.ajax({
        url: '/SalesOfferInvoiceDeliveryNote/InsertUpdateCAORAC/?cTa=b&amp;cHTML=' + cHTML,  
        type: 'POST',
        data: $(this).parents('form').serialize()
  //other part of method not shown, it's not relevant
  </code></pre>
  
  <p>On the server side method's signature looks like this:</p>
  
  <pre><code> public string InsertUpdateCAORAC(FormCollection form = null, string cTa = "", string cHTML = null)
  </code></pre>
  
  <p>My problem is that cHTML (which represents HTML of dynamically created form for printing) becomes quickly too large to be sended through query string. I would like this parameter to be sended inside request body. What I've already tried:</p>
  
  <pre><code>     $.ajax({
            url: '/SalesOfferInvoiceDeliveryNote/InsertUpdateCAORAC/',  
            type: 'POST',
            data: {
            form: $(this).parents('form').serialize(), 
            cTa: 'b',
            cHTML: cHTML
            }
  </code></pre>
  
  <p>In this case, parameters cTa and cHTML are sended correctly, but form element loses all it's serialized keys. (form keys with this way of ajax calling are: form, cTa and cHTML, which is completely wrong). Is there anything I could do to send all parameters inside query string body and that form doesn't loses it's keys?</p>