it-swarm.com.de

Javascript las HTML von URL in String

Ich baue gerade eine Website, die als FTP-Browser funktionieren kann. Im Grunde habe ich einen FTP-Server mit einigen Bildern.

Was ich nicht herausfinden kann, ist: Wenn ich zu dieser FTP-Site browse, kann ich die Quelle der FTP-Site (wie in einem Browser angezeigt) anzeigen. Ich muss diese Quelle in einer Zeichenfolge speichern (mithilfe von Javascript) ).

Der Grund ist, dass ich eine Art "Image" -Browser erstellen werde. Ich habe vor, dies durch Lesen der Quelle in eine Zeichenfolge zu erreichen, dann alle Bildquellen zu kopieren und innerHTML zu verwenden, um ein neues Layout zu erstellen.

Kurz gesagt: Ich möchte Informationen aus einer URL lesen und auf andere Weise anzeigen.


Nun, es scheint nicht zu funktionieren. Das Problem könnte sein, dass ich kein serverseitiges Scripting verwenden kann. Wäre es jedoch möglich, eine Datei auf den FTP-Server zu legen, die ich laden kann, um die Daten dynamisch in denselben Ordner zu laden? (Wenn ich FTP sage, meine ich eigentlich einen NAS Server mit FTP-Zugriff).

20
Chizpa

Ihre Antwort lautet Ajax. Es kann POST und GET-Daten von einer URL abrufen, genau wie beim Durchsuchen einer Website, und der HTML-Code wird als String zurückgegeben.

Wenn Sie jQuery (wirklich praktisch) verwenden möchten, ist es einfach, Ajax zu verwenden. Wie dieses Beispiel (funktioniert nicht ohne die Bibliothek):

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

Wenn Sie das Standard-Javascript verwenden möchten, werfen Sie einen Blick auf 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();
31
Niels

Dem, was Niels und rich.okelly gesagt haben, ist nicht viel hinzuzufügen. AJAX ist Ihr Weg.

Beachten Sie jedoch, dass Sie aufgrund domänenübergreifender Einschränkungen nicht auf Daten zugreifen können diese befinden sich nicht in derselben Domäne. Eine mögliche Problemumgehung finden Sie hier.

1
vzwick

Wie bereits erwähnt, ist die Verwendung von HTTP und CORS möglich, aber ich denke, Sie möchten einen Blick auf diesen anderen Thread werfen.

1
Diogo Biazus

IN Javascript, um Daten ohne Alert () zu erhalten:

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