I have problem with HTTP POST request send via jQuery on IE9. After page is loaded and one minute delay I receive error from server (because of no form fields). After little investigation I noticed that IE sends form fields but content-length is 0 so they are ignored. That problem occurs only over HTTPS and only when I browse remote site. On localhost everything works well.
I found few links about that problem but they are old and refer to IE6:
http://support.microsoft.com/default.aspx?kbid=831167 http://geekswithblogs.net/timh/archive/2006/01/26/67183.aspx
Does anybody have similar problem and resolved it?
EDIT
In my post call there is nothing special:
var data = {
selectedTemplates: id
};
$.post(settings.generateUrl, data).done(function() {
// on request complete;
});
Can you share a traffic capture, generated by Fiddler or even IE's F12 developer tools?
Does the server in question use any HTTP authentication method (specifically NTLM or Negotiate)? If so, see http://blogs.msdn.com/b/ieinternals/archive/2010/11/22/internet-explorer-post-bodies-are-zero-bytes-in-length-when-authentication-challenges-are-expected.aspx
If not, have you reproduced this problem on any other machines? If you have an outdated IE browser extension (e.g. "Free Download Manager") installed, it may be corrupting the URLMon interfaces used in this scenario and causing the zero-byte POST (there are several dupes of this reported on StackOverflow).
Are you doing anything (e.g. navigation) during the POST that might cause the form to be torn down before the POST data is submitted (e.g. if you navigate during an XHR POST, it's possible to send the headers and have the request abort before the body is sent).