2011-11-19 17 views
18

Aktualnie tworzę stronę, która powinna być w stanie funkcjonować jako rodzaj przeglądarki FTP. Zasadniczo mam serwer ftp z kilkoma obrazami.Javascript odczytuje html z adresu URL na ciąg

Czego nie mogę zrozumieć: jeśli przejdę do tej witryny ftp, mogę wyświetlić źródło strony ftp (jak widać w niektórych przeglądarkach), potrzebuję zapisać tego źródła w taki sposób, aby ciąg (używając javascript).

Powodem jest to, że zrobię coś w rodzaju przeglądarki "obrazu". Planuję to osiągnąć, czytając źródło w łańcuchu, a następnie skopiować wszystkie źródła obrazów i użyć innerHTML, aby utworzyć nowy układ.

Krótko mówiąc: chcę czytać informacje z adresu URL i wyświetlać je w inny sposób.


Cóż, wydaje się, że nie działa. Problem może polegać na tym, że nie mogę korzystać ze skryptów serwerowych. Czy byłoby jednak możliwe umieszczenie pliku na serwerze ftp, który mogę załadować, który może dynamicznie ładować dane w tym samym folderze? (kiedy mówię FTP, mam na myśli serwer NAS z dostępem FTP).

+0

Czy przy użyciu jakichkolwiek ram? TO ZNACZY. jQuery? – vzwick

+0

"jeśli przejdę do tej witryny ftp, mogę wyświetlić źródło strony ftp" - Widziany jest pewien HTML wygenerowany przez przeglądarkę na podstawie wykazu katalogów, nie widzisz, co sama strona wysyła. – Quentin

Odpowiedz

28

Twoja odpowiedź jest Ajax. Może POST i GET danych z adresu URL, podobnie jak przeglądanie strony internetowej, i zwróci HTML jako ciąg w wyniku.

Jeśli planujesz używać jQuery (naprawdę przydatny), to jest łatwy w użyciu Ajax. Podoba Ci się to examle (nie działa bez biblioteki):

$.ajax({ 
    url : "/mysite/file.html", 
    success : function(result){ 
     alert(result); 
    } 
}); 

Jeśli chcesz użyć domyślnego języka Javascript przyjrzeć 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(); 
+0

Cóż, rozwiązaniem, które wymyśliłem, jest napisanie małej aplikacji w języku C#. Po uruchomieniu aplikacji wchodzi do folderu NAS, szuka obrazów i generuje plik html (zawierający obrazy), a moja aplikacja może korzystać z tej strony html w elemencie iframe. – Chizpa

1

Jak stwierdzono w poprzednich odpowiedzi jest możliwe za pomocą protokołów HTTP i CORS , ale myślę, że chcesz rzucić okiem na this other thread.

0

w javascript, aby uzyskać dane bez używania alert():

$.ajax({ 
    url : "/mysite/file.html", 
    async:false,   //this is the trick 
    success : function(result){ 
       //does any action 
       } 
    }); 
+3

Czy mógłbyś wytłumaczyć nieco więcej? – Micho

Powiązane problemy