Javascript читать html из url в строку
В настоящее время я создаю сайт, который должен работать как браузер ftp. В основном, у меня есть ftp-сервер с некоторыми изображениями на нем.
Я не могу понять: если я перейду на этот ftp-сайт, я могу посмотреть источник ftp-сайта (как видно в каком-то браузере), мне нужно сохранить этот источник в виде строки (используя javascript).
Причина в том, что я сделаю своего рода "образным" браузером. Я планирую выполнить это, читая источник в строку, затем скопируйте все источники изображения и используйте innerHTML для создания нового макета.
Вкратце: я хочу прочитать информацию из URL-адреса и отобразить его по-другому.
Ну, похоже, он не работает. Проблема может заключаться в том, что я не могу использовать серверные скрипты. Можно ли, однако, поставить файл на ftp-сервере, который я могу загрузить, который может динамически загружать данные в одну и ту же папку? (когда я говорю FTP, я на самом деле подразумеваю сервер NAS с доступом к FTP).
Ответы
Ответ 1
Ваш ответ Ajax. Он может отправлять POST и GET данные из URL-адреса, точно так же, как просматривать веб-сайт, и он вернет HTML как строку в качестве результата.
Если вы планируете использовать jQuery (реально удобно), легко использовать Ajax. Как этот пример (не работает без библиотеки):
$.ajax({
url : "/mysite/file.html",
success : function(result){
alert(result);
}
});
Если вы хотите использовать Javascript по умолчанию, посмотрите http://www.w3schools.com/ajax/default.asp
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "ajax_info.txt", true);
xmlhttp.send();
Ответ 2
Не так много, чтобы добавить к тому, что Нильс и rich.okelly сказали. AJAX - это ваш путь.
Имейте в виду, что междоменные ограничения будут запрещать вам доступ к данным которые не находятся в одном домене. Здесь вы найдете возможное обходное решение.
Ответ 3
Как было сказано в предыдущих ответах с использованием HTTP и CORS, но я думаю, что вы хотите взглянуть на этот другой поток.
Ответ 4
В Javascript для получения данных без использования alert():
$.ajax({
url : "/mysite/file.html",
async:false, //this is the trick
success : function(result){
//does any action
}
});