Sandy
Sandy

Reputation: 11687

Access is Denied on IE11 in AngularJS

Every development pipeline has 2 parts. FIRST to work hard and develop the application. SECOND to work harder and make it compatible with the great arrogant IE.

We have an AngularJS (v1.3.13) application without any server side code developed in Webstorm. We are making REST calls to service. Our application works fine on Chrome and Firefox without any Console errors. However when we try to open the page in IE11 or IE9 (not tried IE10), our page doesn't load. Console suggests we have 2 errors. One of them is Access is Denied on

xhr.open(method, url, true);

in angular.js.

There are number of posts on internet and none seems to be working. This is what I have tried.

  1. Hosting app in IIS with changed Handler Mappings to support Cross Domain calls on an Application pool of .Net v4.0 (as suggested by a Senior)
  2. Tried to disable to cache for HTTP requests.
  3. Adding Domain in trusted site category and also adding locahost/IP to local intranet.
  4. Changing request type to JSONP and trying to add Access-Control-Allow-Origin (with value of *) to headers.
  5. Changing IE settings to allow Cross Domain calls.

Error is still chasing us. Even my colleagues have tried the same on their machines ending up with similar blow. Is there anyone to suggest me something on this.

It may be CORS and I may need to go for xdr (XDomainRequest) but not sure how to use it as error is in angular.js. I am certainly no expert on this so please suggest.

Screen shot of the error: enter image description here

IE shows another error: [$injector:nomod] Module 'ngLocale' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument. http://errors.angularjs.org/1.2.16/$injector/nomod?p0=ngLocale which I am ignoring for now.

Please suggest me something on this. Thanks.

Upvotes: 8

Views: 12102

Answers (4)

Surendranath Sonawane
Surendranath Sonawane

Reputation: 1737

Access is Denied on IE11 in AngularJS error have a solution on this link I also got the same error while downloading Image from IE11. I have just added the following line in my code and It works.

window.navigator.msSaveBlob(blob, paramDataObject.fileName); 
or
window.navigator.msSaveOrOpenBlob(blob, paramDataObject.fileName);

Upvotes: 1

JungTae
JungTae

Reputation: 1

if (window.navigator && window.navigator.msSaveOrOpenBlob) {   
   window.navigator.msSaveOrOpenBlob(blob);
}
else {   
   var objectUrl = URL.createObjectURL(blob);    
   window.open(objectUrl);
}

Setting window.location or window.open in AngularJS gives "access is denied" in IE 11

Upvotes: 0

user2150902
user2150902

Reputation: 11

I switched from 1.3.4 to 1.4.8 and that did the trick. No more Angular Access Denied in I.E. (Microsoft Edge 25 2015). I don't know why.

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-route.js/1.4.8/angular.min.js"></script>

Upvotes: 1

webdev5
webdev5

Reputation: 487

Have you tried xdomain? https://github.com/jpillora/xdomain it's a pure javascript CORS alternative.

Upvotes: 0

Related Questions