title: Ajax Post Parameter is Always Null in MVC app
body: <p>I have a simple post that works in a test app</p>
  
  <p>Controller Code</p>
  
  <pre><code>public ActionResult Delete(string Id)
  {
      ... delete record ...
  }
  </code></pre>
  
  <p>JavaScript</p>
  
  <pre><code>function delAnnouncement(id) {
      $.ajax({
          type: "POST",
          url: "@Url.Action("Delete", "Announcements")",
          contentType: "application/json; charset=utf-8",
          data: JSON.stringify({ "Id": "03d23684-098a-4ae8-8fa2-7d9ce70d63ef" }), // Hard coded for testing
          success: function (data) {
              $("#AnnouncementsPH").replaceWith(data);
          }
      });        
  }
  </code></pre>
  
  <p>I have created a simple test application and it works there.</p>
  
  <p>I am looking for any ideas as to what may exist in the existing application that would always cause the id passed to be null.  </p>
  
  <p><strong>Things I have tried:</strong><br>
  Route Info is the same between the two applications.<br>
  They are both secure https websites.<br>
  Other forms on the existing website work as expected. This is the only place a javascript post with a parameter is used. It is just the new view that lists any system announcements.<br>
  As far as I can tell the HTML is valid.<br>
  Fiddler show the data is being sent.<br>
  I have tried to simply hard code in the <code>Id</code> to pass.</p>
  
  <p>I have no idea what could be causing the <strong><code>Post</code></strong> not to work.  </p>
  
  <p>Thanks for any suggestions</p>
  
  <p>Edit 1: here is the fiddler Raw post</p>
  
  <pre><code>POST https://localhost:44300/Announcements/Delete HTTP/1.1
  Host: localhost:44300
  Connection: keep-alive
  Content-Length: 39
  Accept: */*
  Origin: https://localhost:44300
  X-Requested-With: XMLHttpRequest
  Content-TypeOfNotification: application/json; charset=utf-8
  User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36
  Content-Type: text/plain;charset=UTF-8
  Referer: https://localhost:44300/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  Cookie: jetbrains.charisma.main.security.PRINCIPAL=NmI4YmFhZTExMThjZDZkZjNmZTBhMDNiZWM4NmY3MDYzZWNiMWE3M2ZmZDM5ODMwYjViMjczN2ZkZmU3YmZlZTpyb290; TCSESSIONID=233EBE63123BA35468235F441F54D7E4; ASP.NET_SessionId=ycnx1ejeyahzipwduux2quqz; __RequestVerificationToken=FnOKGFfBZKEBX4E0KBoV9133e5KK3h9Pd_OjDzNPjv7ifMTMk5uHUPmT621hOQFyOCwW5IhdewKLPDMs2_9jY2vVwrHLYOU9f0F86mN-NoQ1; .AspNet.ApplicationCookie=V8ZnbAx_2_H1Wx946VLcQ235XplzC-uvKdw4CP7Sm8ZVnJu9pG63EuzC0ptOZZNBvzZkRjB0RJS25Pn1WHOzeQSrqoWl87keqRDS6_vMwZ9L6PgKU0rJz7OhD7eKps8l3tzR097zI5WbU_chUZFKLLw1c__rfN3Fy6BbHC1qNtgx0C86AShhG5EsNiruYqJZn-Uj7Z2h75YcZctCFniMyuzD-9RetcMjkN3_PbAJg-_urfntG9NwsMEQdBf1b3K9H3GP_wUYRhnbQdNZpuAkAEa6bVfJiHrnKFhnhLkP8BAfocbMKES1wQKbXBfcNn62cEKUu3On3lHNCNN4zEvOhxF1aDaBk-yghOtvtNkROeFTKMQFD0U-XXAf-RKm0Nwgp1Tb2Ip2U42vshDRNGXQSkOojisVUxiPmkrxDtckNycQd0br1cFSqxfeXyg3cg_vKUP1VMBQcBQxZO6MVLSCDdcpANyoE43IoLp3BHgURJZP88vF18JfVV646XGOZ3QU
  
  Id=03d23684-098a-4ae8-8fa2-7d9ce70d63ef
  </code></pre>
  
  <p>As you can see the Id is posted to the controller, just not parsed and supplied to the parameter in the method.</p>