За последние 24 часа нас посетил 19121 программист и 1639 роботов. Сейчас ищут 1565 программистов ...

не работает cors к API Почты для домена yandex

Тема в разделе "JavaScript и AJAX", создана пользователем torsar, 6 сен 2016.

  1. torsar

    torsar Активный пользователь

    С нами с:
    21 ноя 2012
    Сообщения:
    130
    Симпатии:
    1
    https://tech.yandex.ru/pdd/doc/reference/email-list-docpage/

    Код:

    Код (Javascript):
    1. function loadList() {
    2.        var xhr = new XMLHttpRequest();
    3.        var host = "pddimp.yandex.ru";
    4.        var  getStr = "/api2/admin/email/list";
    5.        var  pddToken = "token";
    6.        var  req ="https://"+ host+getStr+"?"+"domain="+domain;
    7.        //alert(req);
    8.        xhr.onload = function() {
    9.          alert(this.responseText);
    10.        }
    11.        xhr.onerror = function() {
    12.          alert( 'Ошибка ' + this.status +'; '+this.statusText);
    13.        }
    14.        xhr.open("GET", req, true);
    15.        xhr.setRequestHeader("Host", host);
    16.        xhr.setRequestHeader("pddToken", pddToken);
    17.        //xhr.setRequestHeader("OPTIONS", pddToken);
    18.        xhr.send();
    19.      }
    Браузер в консоли выдает:

    Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на https://pddimp.yandex.ru/api2/admin/email/list?domain=pluginmakerz.tk. (Причина: отсутствует заголовок CORS 'Access-Control-Allow-Origin').

    Заголовок запроса:

    Host: pddimp.yandex.ru
    User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:48.0) Gecko/20100101 Firefox/48.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate, br
    Access-Control-Request-Method: GET
    Access-Control-Request-Headers: pddtoken
    Origin: http://my.loc:8080
    Connection: keep-alive


    Заголовок ответа:

    Allow: HEAD, OPTIONS, GET
    Connection: keep-alive
    Content-Length: 0
    Content-Type: text/html; charset=utf-8
    Date: Mon, 05 Sep 2016 14:56:44 GMT
    Server: nginx/1.8.1
    Strict-Transport-Security: max-age=31536000
    X-Frame-Options: SAMEORIGIN


    Я так понял не понимает заголовок pddToken
    Код (Javascript):
    1. xhr.setRequestHeader("pddToken", pddToken);
    И почему сервак не возвращает заголовок:
    Access-Control-Allow-Origin

    В чем могут быть проблемы?

    зы запрос направляется с http на https
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Чтобы ajax запросы не делали к серверу API