I have come across several similar discussions but none of the solutions provided have worked for me so far.
Issue:
In our current setup, we have three servers hosting our http-apis - two for testing and one for production.
Lately, we have been deploying client-side web applications using AngularJS. As these client apps are meant for our customers, the communication with our API is cross-domain. The web apps function correctly in Chrome, Safari, and Firefox with all APIs. However, when it comes to the third API, Internet Explorer (11) fails to send the preflight (options) request, which prevents the client from communicating with the API. Interestingly, the web app works fine in IE for the other two APIs.
The APIs in question are as follows:
https://api.doma.in/accesstoken -- Works in IE11
https://api2.doma.in/accesstoken -- Works in IE11
https://api3.doma.in/accesstoken -- Does not send preflight in IE11.
It's worth noting that the three servers are almost identical in setup, so there shouldn't be much difference.
However, the error messages I am encountering are as follows:
SEC7118: XMLHttpRequest https://api3.doma.in/accesstoken required CORS (Cross Origin Resource Sharing).
SEC7119: XMLHttpRequest https://api3.doma.in/accesstoken required CORS Preflight.
SCRIPT7002: XMLHttpRequest Network error 0x80070005, Access Denied.
In the network log, it only shows that the preflight request was canceled, resulting in no request or response headers being sent.