21

Both in my development and production environment, IE 10 is refusing to send any POST data via a simple $.ajax call.

My script looks like this:

d = 'testvar=something';
$.ajax({
    data: d,
    success: function(h){
        console.log(h);
    }
});

The actual ajax request is going through, but no post data???

The request headers look normal:

Request POST /steps/~do HTTP/1.1
Accept  */*
Content-Type    application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With    XMLHttpRequest
Referer http://localhost:8080/steps/
Accept-Language en-GB,en-AU;q=0.7,en;q=0.3
Accept-Encoding gzip, deflate
User-Agent  Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
Host    localhost:8080
Content-Length  0
DNT 1
Connection  Keep-Alive
Cache-Control   no-cache

But the request body is empty! (I'm using IE's network tab in their F12 dev bar to capture requests). In the PHP script, print_r($_POST); returns an empty array.

This works fine in IE 7 - 9, chrome, FF and safari, but breaks in IE10?

I'm not sure if I've missed something, or if IE 10 is just buggy?

EDIT

I've set the global ajax settings as follows:

$.ajaxSetup({
    url: ROOT+'~do', // ROOT is either http://localhost/.../~do or http(s)://www.steps.org.au/~do depending on production or development environment
    type: 'POST'
});

Further Edit

Using IE version 10.0.9200.16384 on Windows 8 Pro 64 bit

Direct copy/paste of request headers are:

Key Value
Accept  */*
Accept-Encoding gzip, deflate
Accept-Language en-GB,en-AU;q=0.7,en;q=0.3
Cache-Control   no-cache
Connection  Keep-Alive
Content-Length  0
Content-Type    application/x-www-form-urlencoded; charset=UTF-8
Cookie  __utma=91949528.1947702769.1348201656.1353212510.1353237955.6; __utmz=91949528.1348201656.1.1.utmcsr=localhost|utmccn=(referral)|utmcmd=referral|utmcct=/coconutoil.org.au/; __utmb=91949528.2.10.1353237955; __utmc=91949528; cartID=8b3b2b9187cfb1aeabd071d6ec86bbbb; PHPSESSID=bl57l7fp0h37au7g0em7i3uv13
DNT 1
Host    www.steps.org.au
Referer https://www.steps.org.au/
Request POST /~do HTTP/1.1
User-Agent  Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
X-Requested-With    XMLHttpRequest

The Request body is emtpy.

Reponse headers:

Key Value
Response    HTTP/1.1 200 OK
Server  nginx/0.7.65
Date    Sun, 18 Nov 2012 11:23:35 GMT
Content-Type    text/html
Transfer-Encoding   chunked
Connection  close
X-Powered-By    PHP/5.3.5-1ubuntu7.2ppa1~lucid
Expires Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma  no-cache

Initiator

Property    Value
Stage   Document Processing
Element XMLHttpRequest
Action  Processing
Document ID 0
Frame ID    0
Frame URL   https://www.steps.org.au/Shop/Health-Products/

Page which replicates the problem (the entire site actually):

Steps to Life Shop, Health Products

Emmanuel
  • 4,933
  • 5
  • 46
  • 71
  • 1
    Have you tried using objects? data:{"testvar":"something"} – Victor Gutierrez Nov 02 '12 at 20:16
  • @Deviarte Yes, I've already tried using objects... same result. – Emmanuel Nov 05 '12 at 09:58
  • 3
    I'm experiencing the same issue for a fairly large site I maintain. Trying to find information/workarounds.. – Nicholas Head Nov 13 '12 at 16:57
  • @Nicholas Let me know if you come up with something. I haven't been able to resolve the issue yet. – Emmanuel Nov 14 '12 at 04:08
  • @Emmanuel: the code which you included is definitively not full. You have to include `type: "POST"` and `url: "~do"` as additional option of `$.ajax`. Could you include *all options which you used*? If you set some global settings per `ajaxSetup` you should include the settings too. – Oleg Nov 16 '12 at 18:08
  • @Oleg, I've updated the question, yes I set some global settings via ajaxSetup. I've also tried with these settings directly in the request. – Emmanuel Nov 17 '12 at 19:53
  • @Emmanuel: One more important thing: which version of jQuery you used? I tried to reproduce the problem, but have always success in my attempts. – Oleg Nov 17 '12 at 20:11
  • @Oleg I'm using the latest version 1.8.2. Try going here, and adding something to the cart https://www.steps.org.au/Shop/Health-Products/ This page reproduces the problem for me. – Emmanuel Nov 18 '12 at 04:20
  • @Emmanuel: What exactly one can do on the page? If I add the product to the cart everything work correctly. The data `i=1211&q=1&token=bc7b5a8fde2470d8a67f5fe61e89fd6ce23f0844&cmd=addToCart&sideBar=1` will be posted to the URL `https://www.steps.org.au/~do`. The `Content-Length` is equal to `81`, `Referer`=`https://www.steps.org.au/`. I used IE10 on Windows 8 (`User-Agent`=`Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; Touch)`). No problems! What is different compared to your test? Probably you have mix between HTTP and HTTPS? But how? – Oleg Nov 18 '12 at 10:21
  • @Oleg See my edited answer for IE version, and more headers. Same Referer and User-Agent. But absolutely no POST data is getting through. – Emmanuel Nov 18 '12 at 11:36
  • 2
    I'm getting the same errors on your site, @Emmanuel -- my user agent is NOT touch. This is the desktop ver of IE10, not the Metro one. Maybe that makes a difference? edit: CONFIRMED. the Metro version does NOT exhibit this bug, but the desktop ver does. – Nicholas Head Nov 20 '12 at 21:29
  • @Nicholas It's really strange... I don't have time to do exstensive tests at the moment, only I hope not too many users out there are having the problem on my site... – Emmanuel Nov 20 '12 at 23:13
  • 1
    possible duplicate of [Jquery Ajax call works in all browser except ie 10](http://stackoverflow.com/questions/13101729/jquery-ajax-call-works-in-all-browser-except-ie-10) – EricLaw Nov 20 '12 at 23:44
  • 1
    Do you have a 3rd party download manager? Several cause this problem & that's consistent with "Desktop only" bit of this. – EricLaw Nov 20 '12 at 23:45
  • @EricLaw Very interesting observation. Yes I have FDM addon in IE. I'll uninstall it and see how we go. – Emmanuel Nov 21 '12 at 00:01
  • 3
    @EricLaw helped me on Twitter with this, and indeed, uninstalling FDM fixed the issue for me. Bye bye, FDM! – Nicholas Head Nov 21 '12 at 16:04
  • @EricLaw That indeed was the problem! Could you please post an answer that I can accept? Thanks. – Emmanuel Nov 21 '12 at 19:58
  • It could be a server side issue if using IIS and ASP.NET. Here is some more info and possible solution: http://stackoverflow.com/questions/6983732/ie10-user-agent-causes-asp-net-to-not-send-back-set-cookie-ie10-not-setting-coo – ppavlovski Feb 27 '13 at 21:55
  • Problem does exist for IE10 + windows 7. It was solved by http://stackoverflow.com/a/13703096/309395 – Nilesh Thakkar Jan 15 '14 at 14:24
  • Duplicate of [Jquery Ajax call works in all browser except ie 10](http://stackoverflow.com/q/13101729/95735) – Piotr Dobrogost Feb 21 '14 at 08:36

8 Answers8

7

Edited

Still there is no fix from Microsoft for this except using

<meta http-equiv="x-ua-compatible" content="IE=9" >

by add the above meta tag, IE10 will run your javascript in IE9 compatible mode.

Old answer.

i am posting the sample code for the test that i made, and you can also utilize the same code for your code.

<html>
<head runat="server">
    <script src="../Scripts/jquery-1.8.3.js"></script>
<script type="text/javascript">
    var xmlHttp = null;
    var XMLHTTPREQUEST_MS_PROGIDS = new Array(
      "Msxml2.XMLHTTP.7.0",
      "Msxml2.XMLHTTP.6.0",
      "Msxml2.XMLHTTP.5.0",
      "Msxml2.XMLHTTP.4.0",
      "MSXML2.XMLHTTP.3.0",
      "MSXML2.XMLHTTP",
      "Microsoft.XMLHTTP"
    );

    function makePOSTRequest(url, parameters) {

        if (window.XMLHttpRequest != null) {
            //xmlHttp = new window.XMLHttpRequest();
            xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
        } else if (window.ActiveXObject != null) {
            // Must be IE, find the right ActiveXObject.
            var success = false;
            for (var i = 0; i < XMLHTTPREQUEST_MS_PROGIDS.length && !success; i++) {
                alert(XMLHTTPREQUEST_MS_PROGIDS[i])
                try {
                    xmlHttp = new ActiveXObject(XMLHTTPREQUEST_MS_PROGIDS[i]);
                    success = true;
                } catch (ex) { }
            }
        } else {
            alert("Your browser does not support AJAX.");
            return xmlHttp;
        }
        xmlHttp.onreadystatechange = alertContents;
        xmlHttp.open('POST', url, true);
        xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=UTF-8');
        //xmlHttp.setRequestHeader('Content-type', 'application/json;');
        xmlHttp.setRequestHeader('Content-Length', parameters.length);
        xmlHttp.setRequestHeader('Accept', 'text/html,application/xhtml+xml')
        //xmlHttp.setRequestHeader('Connection', "close");
        xmlHttp.send(parameters);
    }

    function alertContents() {
        // alert( this.status );
        if (xmlHttp.readyState == 4) {
            //alert( this.responseText );
            if (xmlHttp.status == 200) {
                var result = xmlHttp.responseText;
                //  document.getElementById('result').innerHTML = result;
                //  document.getElementById('submitbutton').disabled = false;
                alert(result);
            } else {
                //alert( this.getAllResponseHeaders() );
                alert("There was a problem with the request.");
            }
        }
    }
</script>
</head>
<body>
<a href="javascript:makePOSTRequest('/api/jobs/GetSearchResult','jtStartIndex=0&jtPageSize=10&jtSorting=jobDescription ASC&jobDescription=')">Click me please</a>
    GetJobDetail

    <br/><br/>
    Url: <input type="text" id="url" value="/api/jobs/GetSearchResult"/><br/>
    parameters: <input type="text" id="parameters" value="jtStartIndex=0&jtPageSize=10&jtSorting=jobDescription ASC&jobDescription="/><br/>
    submit : <input type="button" id="callMethod" value = "call" onclick="javascript: makePOSTRequest($('#url').val(), $('#parameters').val())"/>
</body>
</html>
Cruiser KID
  • 1,250
  • 1
  • 12
  • 26
4

I have the same issue. I think its a bug on ie 10 desktop version. running on windows 8 pro 64bit. it seems like the xhr.send method is not passing the data through. it works fine in all other browsers and ie 10 in metro mode or if you change to ie9 standards in desktop mode.

DeniroSA
  • 93
  • 1
  • 1
  • 6
  • jQuery bug about it http://bugs.jquery.com/ticket/12790 basically just confirming your observed behaviours, you may want to add some comment/subscribe to the bug. – Nelson Nov 14 '12 at 10:28
  • @Nelson Yes, but they've closed the ticket now, the bug doesn't seem consistent. – Emmanuel Nov 15 '12 at 21:48
  • I'm getting the same issue with IE 10 desktop version .... all other browsers seem to work perfectly fine. VERY Strange bug indeed ... – Jalal El-Shaer Feb 19 '13 at 13:05
4

Sorry, but my all attempts to reproduce your problems were without success. In other words all POSTs were with HTTP body and the Ajax requests worked correctly. So I could not reproduce the problem which you described. I made all tests on Internet Explorer 10, Windows 8 W64 RTM Enterprise with all current windows updates.

If I add some item (for example the first one) to the chat on the page you referenced I can see that POST request the the following header will be produced:

Anforderung       POST /~do HTTP/1.1
Accept            */*
Content-Type      application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With  XMLHttpRequest
Referer           https://www.steps.org.au/
Accept-Language   de-DE,de;q=0.8,ru;q=0.7,en-US;q=0.5,en;q=0.3,ja;q=0.2
Accept-Encoding   gzip, deflate
User-Agent        Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; Touch)
Host              www.steps.org.au
Content-Length    81
DNT               1
Connection        Keep-Alive
Cache-Control     no-cache
Cookie            __utmc=91949528; __utma=91949528.365135675.1353268932.1353268932.1353268932.1; __utmb=91949528.1.10.1353268932; __utmz=91949528.1353268932.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); PHPSESSID=ka4shsgkfvnvfdcath2klh9un0; cartID=4a90a72a379989f597276ca30c79c6f6

One can see that Content-Length is 81 and it's not 0. The body is

i=1211&q=1&token=00f5e9f5768d09ae67f2016ebcb62e99a0d75345&cmd=addToCart&sideBar=1

The request will be answered with HTML fragment and the button become green.

To be exactly during adding the item to the chat it will be executed another code as you posted in your question. It will be executed the following code (lines 49-74) from shop.1352417874.js:

var n;
function inCart(i,t){
    var a = $('#add'+i);
    var q = t?1:$('#qty'+i).val();
    setLoader(a,(t?60:0),0);
    if(!t) a.addClass('loading').html('').attr('href','javascript:;');
    // d = 'i='+i+'&q='+q+'&token='+TOKEN+'&cmd=addToCart&sideBar=1';   
    $.ajax({
        data: {
            i:i,
            q:q,
            token:TOKEN,
            cmd:"addToCart",
            sideBar: 1
        },
        success: function(h){
            $('#sideCartContents').replaceWith(h);
            mkButtons();
            jsEnhance();
            setLoader();
            n=0;
            if(!t) a.removeClass('loading').addClass('green').attr('href','Shop/Checkout.html').html('Checkout').parent().find('div.QTY').html('<strong>x'+q+'</strong> <span class="inC">in cart</span>');
            flashCart();
        }
    });
}

The values of local i and q variables was 1211 and 1 in my test.

So I could not see any errors which you describe. So you have to debug the code in your environment where it will be reproduced. During the tests I would recommend you to use non-minimized code of jQuery. You could debug the code of jQuery.ajax to localize your problem.

Nevertheless I have some additional advice to you:

  1. First of all you should include error callback to the $.ajax call and not only success callback.
  2. You should review the JavaScript code which you use. In the above code fragment for example you defined global variable n which will be property of the global window object. Introduction of such variables is very dangerous because of side effects and conflicts with other JavaScript codes which you include on the page. In some other places you set new properties of global window object indirectly. For example the code of global doErrors function defined in common.1345011838.js looks as following
function doErrors(e,d){
    e=e.split(',');
    for(i in e){
        $((d?d+' ':'')+'[name="'+e[i]+'"]:visible').addClass('error');
    }
    errors();
}

In the above code you use i variable without define it. So you set (or use) window.i variable in the way. It's clear the usage of for-in loop in case of array is not good. One could rewrite the code with equivalent code like for(var i=0,l=e.length; i<l; i++) {...}.

Moreover you start the code of common.1345011838.js with

var w,r,i,p,t,l,c,z,e,m,b,k,u,s,CPH,TOKEN;
var z = new Array();
var ROOT;

which define many global variables with short names. It's very bad style. It can follow to conflicts with other modules which you included. Typically it would be enough to define the most variables which you need inside of some function. You could move declaration of the most variables inside of $(document).ready(function(){/*.HERE.*/});.

If you really need to define some global variables you could define one which will be like the namespace and all other variables you could define as the properties of the only global object. It's the standard practice. In the way one can reduce the number of possible conflicts between different modules which you use. For example you could use something like

MYGLOBALCHATOBJECT = {
    root: "/",
    z: [],
};

...
// add new property
MYGLOBALCHATOBJECT.TOKEN = "some value";

You should confider to define many function inside of context of another functions. In the way you could reduce the need to define many global variables. Just an example The above code of inCart use n variable defined above of inCart function. The variable n will be used only inside of other global function flashCart defined directly after inCart. Moreover the function flashCart will be used only inside of callback success. So you can rewrite the code so, that you define both n and flashCart inside of callback success:

...
success: function (h) {
    // define LOCAL variable n
    var n = 0;
    // define LOCAL function which can use outer variable n
    function flashCart(){
        if(n<3) { 
            setTimeout("flashCart()",120);
            n=n+1;
        }
        $('#sideCartBox').toggleClass('highlighted');
    }

    $('#sideCartContents').replaceWith(h);
    mkButtons();
    jsEnhance();
    setLoader();
    if(!t) a.removeClass('loading').addClass('green').attr('href','Shop/Checkout.html').html('Checkout').parent().find('div.QTY').html('<strong>x'+q+'</strong> <span class="inC">in cart</span>');
    flashCart(); // we use LOCAL function
}

I would recommend you additionally to test your code in JSHint or JSLint.

Oleg
  • 220,925
  • 34
  • 403
  • 798
  • Thank for your detailed answer. I'll look into the things you mentioned, Javascript isn't my strong point and I've mostly taught myself. Looks like I've learnt some bad habits. Thanks again. – Emmanuel Nov 18 '12 at 22:20
  • 1
    @Emmanuel: You are welcome! Tree year ago I didn't know JavaScript at all. So I can understand you good. The most important to find the reason: why the body of the POST is empty on your test computer. – Oleg Nov 18 '12 at 22:37
  • 1
    Try the desktop version of IE10-- it fails there. – Nicholas Head Nov 20 '12 at 21:32
  • @Nicholas: Sorry, but I don't know any "desktop version" of IE10. Do you mean that my computer where Windows 8 are installed should be desktop computer instead of Notebook? Sorry, but I don't have no desktop computers and I don't believe that IE10 send Ajax requests in different way on different hardware. If you really have an computer where you can reproduce the program I would recommend you to debug the JavaScript code. – Oleg Nov 20 '12 at 21:45
  • 1
    @Oleg - IE10 on Windows 8 can run in two modes-- "Desktop" (where it looks like the traditional Windows app, with resizable border, etc) and "Touch/Metro" mode, which is full screen. Metro mode seems to be working fine, but Desktop mode is not. – Nicholas Head Nov 20 '12 at 21:47
  • @Nicholas: I tested just by starting IE10 exactly like any other application. Windows-R keyboard combination to start Run window and typing URL. IE was started as a window on the same desktop as other application. So I tested already in "Desktop" mode. As I described before I could not reproduce any problem. I believe that some problem can exist. So I can repeat that *one should debug the problem on the computer where the problem can be reproduced*. – Oleg Nov 20 '12 at 22:38
  • IE have bug... jQuery creates window.XMLHttpRequest object which is recommended by browser but that fail to send POST request even, if you will try to create window.XMLHttpRequest object it will fail but if you run your page in IE 8/9 compatible mode using IE Developer toolbar , the Ajax Post will work. – Cruiser KID Dec 04 '12 at 12:35
  • The only way to work is check the browser on server or client and then create ActiveXObject('Microsoft.XMLHTTP'); object for IE else use jquery... – Cruiser KID Dec 04 '12 at 12:36
  • @CruiserKID: I wrote before that I believe that the bug exist (in IE10 or in jQuery), but I can't reproduce the problem *on my computer*. Can *you* reproduce the problem? If the answer is "Yes", could you provided detailed description how the problem can be reproduced? – Oleg Dec 04 '12 at 12:39
  • on my win7 laptop with ie10 RTM (KB2718695) the problem is there, even on the page @Oleg posted above `Key Value Request POST /~do HTTP/1.1 Accept */* Content-Type application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With XMLHttpRequest Referer https://www.steps.org.au/ Accept-Language id-ID Accept-Encoding gzip, deflate User-Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0) Host www.steps.org.au Content-Length 0 Connection Keep-Alive Cache-Control no-cache ` above is the produced request header, sorry i remove the cookie data because to long post – am05mhz Mar 14 '13 at 03:15
  • 1
    @am05mhz: I believe you. The problem is only that I can't reproduce the problem on *my win7 laptop with ie10 RTM (KB2718695)*. If I use Netwoirk tab of Developer Tools (press F12) in 32-bit or 64-bit IE I can see that **non-empty** body will be send on [the page](http://www.ok-soft-gmbh.com/jQuery/AjaxIE10.htm). Try the page on your computer please. One need localize the exact prerequisites which allows to reproduce the problem which you describe. I wrote in my answer only that IE10 along is not the origin of the problem. – Oleg Mar 14 '13 at 09:40
  • @Oleg: sorry for the late reply, just tried the page you replied to me, and its now working like normal, i also tested my own dev site and also find it work like normal, i don't know what was wrong either, when it was not working, i have disabled some addons and restarted my IE to no avail, but just now, it works, maybe it also needs a system restart?. well, thank you for your help :) – am05mhz Mar 20 '13 at 08:45
  • @am05mhz: You are welcome! I believe that some problem do exist, but the exact conditions are not clear. So if you'll find later some demo for the problem you can just post me additional information about it. – Oleg Mar 20 '13 at 08:53
  • @Oleg: can you capture this [fiddle](http://jsfiddle.net/2HCS4/) in ie10 with developer tools?, my ie10 is acting up again :(, is it normal on your machine? – am05mhz Apr 15 '13 at 10:50
  • @am05mhz: I tried the code on my Windows 7 x64 computer with IE10 installed and I can see in HTTP headers `Content-Length: 5` and I can see the body of the request is "a=sdf". Another my computer with Windows 8 x64 and IE10 display the same results. – Oleg Apr 15 '13 at 11:10
  • @Oleg: thank you, seems i have to trace what have changed in my computer – am05mhz Apr 15 '13 at 14:35
  • @am05mhz: First of all I suggest you to start IE without any plugin. Anti-Virus Program can make problems for example. You can start it with the option `"C:\Program Files\Internet Explorer\iexplore.exe" -extoff` or just start "Internet Explorer (No Add-ons)" from Start->All Programs-> Accessories->System Tools and then click Internet Explorer (No Add-ons). – Oleg Apr 15 '13 at 14:51
2

I also faced same issue, Below changes worked for me.

<meta http-equiv="x-ua-compatible" content="IE=9" >

Worked for me :)

www.amitpatil.me
  • 3,001
  • 5
  • 43
  • 61
1

Facing this same issue I was not able to solve by setting <meta http-equiv="x-ua-compatible" content="IE=9">, I have however forced this by setting the response header X-UA-Compatible to IE9 which is the recommended way as the meta header is unrecognised in HTML5 validators.

For J2EE applications this can be achieved with the following filter:

public class IECompatibilityFilter implements Filter {
    private String compatibilityMode = "IE=10";
    public IECompatibilityFilter() {
    }
    public String getCompatibilityMode() {
        return compatibilityMode;
    }
    public void setCompatibilityMode(String compatibilityMode) {
        this.compatibilityMode = compatibilityMode;
    }
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        String mode = filterConfig.getInitParameter("compatibilityMode");
        if (StringUtils.isNotBlank(mode)) {
            this.compatibilityMode = StringUtils.trim(mode);
        }
    }
    @Override
    public void doFilter(ServletRequest request,
                         ServletResponse response,
                         FilterChain chain)
            throws IOException, ServletException {
        if (!response.isCommitted() && response instanceof HttpServletResponse) {
            HttpServletResponse httpResponse = (HttpServletResponse) response;
            httpResponse.addHeader("X-UA-Compatible", compatibilityMode);
        }
        chain.doFilter(request, response);
    }
    @Override
    public void destroy() {
    }
}

And registering in your web.xml.

<filter>
  <filter-name>ieCompatibilityFilter</filter-name>
  <filter-class>com.foobar.web.filter.IECompatibilityFilter</filter-class>
  <init-param>
    <param-name>compatibilityMode</param-name>
    <param-value>IE=9</param-value>
  </init-param>
</filter>
Brett Ryan
  • 26,937
  • 30
  • 128
  • 163
0

I have something similar (Problems with image upload from browsers to Amazon S3), and I have found that in my case the xhr object crashes when it is post-requesting http://some.server.com from https://my.local.server.com:123/foo. It crashes on xhr.open("POST", httpUrl, true) call.

It probably is an IE10 bug (what a surprise ;) ), it is crashing both on Win7, and Win8.

Community
  • 1
  • 1
Saša
  • 4,416
  • 1
  • 27
  • 41
0

I had this same issue but just with a single request, a I mean I have a web app that handles many ajax requests. Check out your markup. I had the form inside a table for layout

<table>
    <form></form>
</table>

I just change it the other way. form > table.

Ricbermo
  • 815
  • 1
  • 6
  • 28
0

There seems to be a Window 8 issue, making cross-domain https requests. I can't confirm if it has anything to do with the validity of the cert, as the one on my cross-domain server is invalid (dev server).

This link is a workaround, but who wants to bootstrap their entire application to make a GET request just for IE10+? http://jonnyreeves.co.uk/2013/making-xhr-request-to-https-domains-with-winjs/

Draculater
  • 2,280
  • 1
  • 24
  • 29