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 athttps://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.
来源:https://stackoverflow.com/questions/8464262/access-is-denied-error-on-xdomainrequest