I'm trying to use microsoft XDomainRequest to send cross domain request.
Here is the code
...
if ($.browser.msie && window.XDomainRequest) {
// Use Microsoft XDR
var xdr = new XDomainRequest();
xdr.open("POST", "http://graph.facebook.com/1524623057/");
xdr.send();
}
....
It gives SCRIPT5: Access is denied.
error on xdr.open(...)
line.
I found the reason of this problem. As stated in Point 7:
Requests must be targeted to the same scheme as the hosting page
This restriction means that if your AJAX page is at http://example.com
, then your target URL must also begin with HTTP. Similarly, if your AJAX page is at https://example.com
, then your target URL must also begin with HTTPS.
See this:
http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx
It describes how the server must respond with a certain header, Access-Control-Allow-Origin.