Sedbol
@Sedbol

Что нужно исправить что бы не появлялась ошибка крос домен?

Скрипт получения даты регистрации в контакте
function dataReg(e){
                let r = new XMLHttpRequest();
                r.open('GET', 'https://vk.com/foaf.php?id=' + e, true);
                r.addEventListener("readystatechange", () => {
                    if (r.readyState === 4 && r.status === 200) {
                        var xd = (r.responseText.match(/ya:created dc:date="(.+)T(.+)"/i)||[]), ad, div;
                        if (xd) {
                            ad = xd[1].split('-');
                            div = document.createElement ('div');
                            div.className = 'clear_fix profile_info_row';
                            console.info(ad)
                        }
                    }
                });
                r.send()
            }
            dataReg(1);

Из консоли браузера все срабатывает нормально. Пытаюсь запустить из iframe приложения пишет ошибку
Access to XMLHttpRequest at 'https://vk.com/foaf.php?id=50781636' from origin 'https://vk-get.ru' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.


Как можно справиться с этой бедой?
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Шли годы, люди так и не научились копировать текст ошибки в Google.

Это CORS. На клиенте это не обойти. Только если ставить свой «прокси» сервер
Ответ написан
OCTAGRAM
@OCTAGRAM
ВКонтакте такого разрешения не давал, вот и всё.

Разрешение у ВКонтакте получить гипотетически можно, регистрируясь как разработчик, создав новое приложение, получив API ключ и указав домен, откуда из браузера будут идти запросы. Практически на каком-то этапе всё же может потребоваться свой сервер
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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