Получение исходного кода HTML через XMLHttpRequest [JavaScript] - PullRequest
0 голосов
/ 25 октября 2018

XMLHttpRequest работает для первого URL, но не работает для второго URL. Я думаю, что эта функция не работает для динамических веб-страниц. Я также пробовал ajax, чтобы получить HTML-исходный код, но он тоже не работал. Что я могу сделатьделать? Как я могу изменить этот код для работы для второго URL?

<script language="Javascript" type="text/javascript">

function getSource(url)
{
    var req = new XMLHttpRequest();
    req.open(
        "GET",
        url,
        true);
    req.onreadystatechange = statusListener;
    req.send(null);
    function statusListener()
    {
    if (req.readyState == 4) 
        {
            if (req.status == 200)
            {
                var doc=req.responseText;
                alert(doc);
            }
        }
    }
}

url1 = "https://pages.github.com/";
url2 = "https://stackoverflow.com/";

// This code WORKS
getSource(url1);

// This code DON'T WORK
getSource(url2);
</script>

1 Ответ

0 голосов
/ 25 октября 2018

Я запустил ваш код в JSFiddle и получил сообщение об ошибке, в котором говорится, что это проблема CORS.Вы можете просмотреть эти сообщения об ошибках, открыв консоль Javascript в выбранном вами браузере.

Error message as seen in the Javascript console

CORS (Cross-Origin ResourcesПроблемы с совместным доступом возникают, когда у вас недостаточно прав для доступа к ресурсам между разными доменами.На каждом веб-сервере установлены политики, определяющие правила доступа к этим файлам, а параметры безопасности Stack Overflow настроены так, чтобы запретить такой доступ к их сайту.Вы можете узнать больше о CORS здесь .

...