Проблема при проверке изображения, существующего на удаленном сервере в браузере Chrome, с помощью XMLHttpRequest - PullRequest
0 голосов
/ 27 марта 2019

Я использую этот метод JQuery на странице, чтобы проверить, существует ли изображение:

function imageExists(imageUrl) {
  var http = new XMLHttpRequest();
  http.open('HEAD', imageUrl, false);
  http.send();
  return http.status !== 404;
} 

Если я загружаю страницу в браузер, она прекрасно работает, но если я перехожу на следующую страницу и затем возвращаюсь на эту страницу, скрипт работает неправильно. В консоли браузера произошла ошибка:

Доступ к XMLHttpRequest в «https://server/image.jpg' от источника» http://client' заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

Эта ошибка возникает, только когда я возвращаюсь с другой страницы сайта на эту страницу в браузере Chrome. В браузерах Firefox и Edge нет ошибок

Спасибо !!!

1 Ответ

0 голосов
/ 28 марта 2019

Эта проблема была исправлена ​​добавлением заголовка запроса «Cache-Control» со ​​значением «no-cache»:

function imageExists(imageUrl) {
    var http = new XMLHttpRequest();

    http.open('HEAD', imageUrl, false);
    http.setRequestHeader('Cache-Control', 'no-cache');
    http.send();

    return http.status !== 404;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...