First note this:
IE11 deprecates the XDomainRequest object and it is not available in IE11 Edge mode.
1) What is XDomainRequest and why IE has this object? Several years ago then XMLHTTPRequest 2
spec was developing by W3C all browsers build level 2 over XMLHTTPRequest
level 1 Microsoft create the XDomainRequest
. So XDomainRequest is not a subclass, this is a non-standard IE feature.
2) Yes, XDomainRequest lacks the "withCredentials". Because:
In order to prevent misuse of the user’s ambient authority (e.g. cookies, HTTP credentials, client certificates, etc), the request will be stripped of cookies and credentials and will ignore any authentication challenges or Set-Cookie directives in the HTTP response. XDomainRequests will not be sent on previously-authenticated connections, because some Windows authentication protocols (e.g. NTLM/Kerberos) are per-connection-based rather than per-request-based.
4)
As of 2014, XDomainRequest doesn't appear to send any Content-Type header at all. It's not clear to me when this changed.
And etc. And so on... I post this answer just for history.
Do not use XDomainRequest. This is ugly&bugly non-standard feature.
More info here: