@extazyplayer

Как исправить ошибку XMLHttpRequest: No 'Access-Control-Allow-Origin' header is present on the requested resource?

Пытаюсь получить soap xml ответ с сервера, и упираюсь в ошибку:
Access to XMLHttpRequest at 'адрес Api' from origin 'адрес страницы, с которой я отправляю' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Сначала я использовал Postman, в котором отправлял soap xml документ, и в заголовках прописал 'SOAPAction', 'urn:microsoft-dynamics-schemas/Codeunit/WS:GetSelfAssessment', это заголовок с моим soap экшеном. При этом я получал корректный ответ. 60a2821d986e0067995127.png

На странице я делаю то-же самое, заголовки добавил, почему у меня ошибка?

Что я уже пробовал:
//const url = ''; // мой urlздесь
                
                var xhr = new XMLHttpRequest();
                
                xhr.open("POST", url, false);
                xhr.withCredentials = true;
                xhr.setRequestHeader('SOAPAction', 'urn:microsoft-dynamics-schemas/Codeunit/WS:GetSelfAssessment');
                xhr.setRequestHeader('Content-Type', 'text/xml');
                xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
                xhr.setRequestHeader('Access-Control-Allow-Headers', '*');
                
                xhr.send();
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вопрос всплывает здесь по несколько раз за день.
Эти заголовки должен отдавать сервер. Гуглите CORS.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы