code: function xdrClient (request) {
      return new PromiseObj(function (resolve) {
  
          var xdr = new XDomainRequest(), handler = function (ref) {
                  var type = ref.type;
  
  
                  var status = 0;
  
                  if (type === 'load') {
                      status = 200;
                  } else if (type === 'error') {
                      status = 500;
                  }
  
                  resolve(request.respondWith(xdr.responseText, {status: status}));
              };
  
          request.abort = function () { return xdr.abort(); };
  
          xdr.open(request.method, request.getUrl());
  
          if (request.timeout) {
              xdr.timeout = request.timeout;
          }
  
          xdr.onload = handler;
          xdr.onabort = handler;
          xdr.onerror = handler;
          xdr.ontimeout = handler;
          xdr.onprogress = function () {};
          xdr.send(request.getBody());
      });
  }
docs: XDomain client (Internet Explorer).