JavaScript читает HTML из URL в строку - PullRequest
20 голосов
/ 20 ноября 2011

В настоящее время я создаю сайт, который должен функционировать как браузер ftp.По сути, у меня есть ftp-сервер с некоторыми изображениями на нем.

Что я не могу понять, так это то, что: если я захожу на этот ftp-сайт, я могу просмотреть исходный ftp-сайт (как видно на некоторыхбраузер), что мне нужно, это сохранить этот источник в виде строки (используя javascript).

Причина в том, что я сделаю что-то вроде браузера изображений.Я планирую выполнить это путем чтения источника в строку, затем скопировать все источники изображений и использовать innerHTML для создания нового макета.

Короче говоря: я хочу прочитать информацию из URL-адреса и отобразить ее в видепо-другому.


Ну, не могу заставить его работать.Проблема может заключаться в том, что я не могу использовать серверные скрипты.Можно ли, однако, поместить на ftp-сервер файл, который я могу загрузить, который может динамически загружать данные в одну и ту же папку?(когда я говорю «FTP», я имею в виду сервер NAS с доступом по FTP).

Ответы [ 4 ]

31 голосов
/ 20 ноября 2011

Ваш ответ - Аякс. Он может POST и получать данные из 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();
1 голос
/ 20 ноября 2011

Поскольку предыдущие ответы возможны при использовании HTTP и CORS, но я думаю, что вы хотите взглянуть на этот другой поток .

1 голос
/ 20 ноября 2011

Нечего добавить к тому, что сказали Нильс и Рич. AJAX - твой путь.

Имейте в виду, однако, что междоменные ограничения запрещают вам доступ к данным , которые не находятся в одном домене. Вы найдете возможный обходной путь здесь.

0 голосов
/ 06 июля 2015

IN Javascript для получения данных без использования alert ():

    $.ajax({
    url : "/mysite/file.html",
    async:false,            //this is the trick
    success : function(result){
                 //does any action
               } 
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...