Я хотел бы знать, как использовать XMLHttpRequest, чтобы загрузить содержание удаленного URL и иметь HTML сайта, к которому получают доступ, сохраненного в переменной JS.
Скажите, если бы я хотел загрузить и предупредить () HTML http://foo.com/bar.php, как я сделал бы это?
Вы можете получить его по 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. Вы можете рассмотреть возможность создания прокси-скрипта на вашем домене.