Access Denied with $http request in Angular and IE8
This has nothing to do with $http. $http lets you make XHR(XDR) or JSONP requests. It doesn't provide a mechanism to circumvent the browsers same origin policy.
Changing the hosts to same origin clears the issue so I assume it's trying something but man it's hard to debug.
That's the key to your problem. IE8 doesn't support Cross-Origin-Resource-Sharing (CORS) very well. In order to make cross domain calls with IE8, you better off either:
- Use your nodejs app to proxy the request for you, letting you use the same domain.
- Use JSONP in your $http.get() request
There are a number of gotchas associated with CORS and IE8, which are outlined here.
I was running into this same issue, and while it's likely not ideal, one solution is to change IE's 'Access data sources across domains' security setting to Enable or Prompt:
http://technet.microsoft.com/en-us/library/dd346862.aspx
In my case I was running into the same thing when trying to fetch data (via angular's $resource) from my own API that was hosted on another domain. In IE8 & IE9 these requests would fail with the error you described above. Changing the security setting in IE to allow cross-domain data requests resolved that problem.
AngularJS doesn't support IE<=9 CORS.
As required, there is a link to github official AngualrJS website :