Как получить ответ XMLHttpRequest?

Я хотел бы знать, как использовать XMLHttpRequest, чтобы загрузить содержание удаленного URL и иметь HTML сайта, к которому получают доступ, сохраненного в переменной JS.

Скажите, если бы я хотел загрузить и предупредить () HTML http://foo.com/bar.php, как я сделал бы это?

171
задан BalusC 14 June 2010 в 16:37
поделиться

1 ответ

Вы можете получить его по XMLHttpRequest.responseText в XMLHttpRequest.onreadystatechange когда XMLHttpRequest.readyState равно XMLHttpRequest.DONE.

Вот пример (не совместимый с IE6/7).

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if (xhr.readyState == XMLHttpRequest.DONE) {
        alert(xhr.responseText);
    }
}
xhr.open('GET', 'http://example.com', true);
xhr.send(null);

Для лучшей кроссбраузерной совместимости, не только с IE6/7, но и для покрытия некоторых специфических для браузера утечек памяти или ошибок, а также для меньшей многословности при выполнении аяксических запросов, вы можете использовать jQuery.

$.get('http://example.com', function(responseText) {
    alert(responseText);
});

Обратите внимание, что вы должны принимать во внимание Same origin policy for JavaScript, если вы работаете не на localhost. Вы можете рассмотреть возможность создания прокси-скрипта на вашем домене.

255
ответ дан 23 November 2019 в 20:43
поделиться
Другие вопросы по тегам:

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