Задать вопрос
@nativeboy

Отсутствует заголовок CORS «Access-Control-Allow-Origin»?

Работа плагина вызывает ошибку "CORS", выяснил что ее взывает код файла плагина "status-update.js"
Может кто подскажет что можно сделать?

(function (vme, document) {
  vme.updateStatus = function (action) {
    var request = new XMLHttpRequest();

    request.getResponseHeader('Content-type', 'application/json');

    request.onload = function () {
      var result = JSON.parse(this.responseText);

      if (!result.error) {
        if (result.products && result.products.length) {
          result.products.forEach(function (productId) {
            vme.addedAction(action, productId);
          })
        }
      }
    }

    request.onerror = function (e) {
      console.log(e);
    }

    request.open('GET', vme.base + 'index.php?option=com_vmessentials&task=' + action + '.getStatus&format=json&_' + Date.now() + '=1', true);

    // via Cache-Control header:
    request.setRequestHeader('Cache-Control', 'no-cache, no-store, max-age=0');

    // fallbacks for IE and older browsers:
    request.setRequestHeader('Expires', 'Tue, 01 Jan 1980 1:00:00 GMT');
    request.setRequestHeader('Pragma', 'no-cache');

    request.send();
  }

  document.addEventListener('DOMContentLoaded', function (event) {
    setTimeout(function () {
      vme.updateStatus('compare');
      vme.updateStatus('wishlist');
    }, 100);
  });
})(vme, document);
  • Вопрос задан
  • 194 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Можно изучить, что вообще такое CORS, понять, что для браузера szenergo.ru и www.szenergo.ru - это два разных сайта и либо добавить нужные заголовки к ответу от www.szenergo.ru, либо делать запрос к szenergo.ru.
Ну и не добавлять заголовки, предназначенные для ответа (Cache-Control, Expires, Pragma: no-cache), к запросу. Этими заголовками сервер говорит браузеру, можно ли и на какой период кэшировать ответ. В запросе они никакого смысла не имеют.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы