Приложение
Короче говоря, приложение выводит данные из серверной части на веб-страницу. Клиентское приложение представляет собой одностраничное приложение, созданное с использованием AngularJS. Он вызывает службу веб-API ASP.NET, расположенную в другом домене, для получения данных. Я использую BreezeJS как в клиентском приложении, так и в веб-службе для управления этими данными. Клиент размещается на сайте SharePoint Online, а служба размещается на IIS7.
Ошибка
Я сталкиваюсь с ошибкой Access is Denied, когда AngularJS пытается выполнить вызов XMLHttpRequest.open(), нацеленный на эту веб-службу. Однако, хотя это кажется простой проблемой CORS, у нее есть некоторые особенности, которые поставили меня в тупик:
Прежде всего, эта ошибка возникает только при использовании Internet Explorer 11 (или более ранней версии). Когда приложение просматривается в Chrome или Firefox, оно может подключаться и получать данные из службы.
Веб-служба настроена на прием вызывающего источника.
Сетевой трафик не обнаруживается ни собственными инструментами разработки IE, ни Fiddler.
В частности, эта ошибка возникает в строке: xhr.open(method, url, true);
файла angular.js.
Кто-нибудь знает, почему возникает эта ошибка?
Кроме того, если нужны более конкретные детали, я, безусловно, могу их предоставить. Я даже не уверен, откуда может возникнуть проблема, и я не хочу выгружать тонны нерелевантных строк кода.