Отказано в доступе исключение при вызове jquery Ajax, когда origin является ms-local-stream - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь сделать ajax-вызов с источником в качестве ms-local-stream и целевым сервером в интрасети.Но запрос не выполняется.

Запрос даже не сделан (замечено у Чарльза).И «Отказано в доступе» генерируется немедленно.

Ajax-вызов имеет вид:

    $.ajax({
          type: 'POST',
          url: url,
          async: false,
          contentType: 'application/json',
          cache: false,
          });

Я видел много тем и сообщений, касающихся окон CORS.Но я не могу понять, как получить в ответ заголовки типа Access-Control-Allow-Origin, когда вызов даже не достигает сети.

Я также пытался добавить origin ( ms-local-stream: // 7d987b49-2425-46db-b5a2-55b6ed708472_6c63666f726d73 ) на доверенный сайт в Internet Explorer (только для тестирования),Но это тоже не работает.Ответ здесь: Доступ запрещен в IE 10 и 11, когда целью ajax является localhost. может быть причиной того, что это не работает.

Есть ли способ заставить это работать.

Спасибо.

1 Ответ

0 голосов
/ 04 июня 2018

Internet Explorer вызывает эту ошибку как часть функции зон безопасности.При использовании настроек безопасности по умолчанию возникает ошибка «Доступ запрещен» при попытке доступа к ресурсу в зоне «Локальная интрасеть» из источника в зоне «Интернет».

Если вы писали свой код Ajaxвручную Internet Explorer выдаст ошибку при попытке открыть ресурс.Например:

 var xhr = new XMLHttpRequest();
 xhr.open('GET', 'http://localhost/', true); 
 xhr.send();

Эту ошибку можно обойти, добавив исходный сайт в зону безопасности «Надежные сайты».Вы можете проверить это, добавив «http://client.cors -api.appspot.com » в свою зону «Надежные сайты» и используя эту тестовую страницу на test-cors.org с вашим локальным сайтом в качестве удаленного URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...