Показать сообщение отдельно
  #1 (permalink)  
Старый 05.09.2016, 18:05
Профессор
Отправить личное сообщение для torsar Посмотреть профиль Найти все сообщения от torsar
 
Регистрация: 06.01.2012
Сообщений: 405

не работает cors к API Почты для домена yandex
https://tech.yandex.ru/pdd/doc/refer...-list-docpage/

Код:
function loadList() {
			var xhr = new XMLHttpRequest();
			var host = "pddimp.yandex.ru";
			var  getStr = "/api2/admin/email/list";
			var  pddToken = "token";
			var  req ="https://"+ host+getStr+"?"+"domain="+domain;
			//alert(req);
			xhr.onload = function() {
				alert(this.responseText);
			}
			xhr.onerror = function() {
				alert( 'Ошибка ' + this.status +'; '+this.statusText);
			}
			xhr.open("GET", req, true);
			xhr.setRequestHeader("Host", host);
			xhr.setRequestHeader("pddToken", pddToken);
			//xhr.setRequestHeader("OPTIONS", pddToken);
			xhr.send();
		}


Браузер в консоли выдает:

Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на https://pddimp.yandex.ru/api2/admin/...luginmakerz.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
xhr.setRequestHeader("pddToken", pddToken);

И почему сервак не возвращает заголовок:
Access-Control-Allow-Origin

В чем могут быть проблемы?
Ответить с цитированием