+ Antworten
Ergebnis 1 bis 13 von 13

Thema: [AJAX] Externe Datei einbinden

  1. #1
    Avatar von dkdenz
    dkdenz ist offline Super Moderator dkdenz befindet sich auf einem aufstrebenden Ast
    registriert
    13-04-2004
    Ort
    Lübeck
    Beiträge
    11.180
    Blog-Einträge
    1

    [AJAX] Externe Datei einbinden

    Wir hatten das schon ein paar Mal im Forum:
    'Kann ich mit JavaScript eine Textdatei in eine Webseite einbinden,
    denn eine serverseitige Sprache steht nicht zur Verfügung?'
    Mit JavaScript in diesem Beispiel nicht direkt, aber über den 'Umweg' AJAX .
    Nachfolgend ein Snippet, welches genau das bewirkt:
    Code:
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
    <head>
    <title>Dokumenttitel</title>
    <script type="text/javascript">
    //<![CDATA[
    var XMLHTTP = null;
    if (window.XMLHttpRequest) {
        XMLHTTP = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        try {
            XMLHTTP =
                new ActiveXObject("Msxml2.XMLHTTP");
        } catch (ex) {
        try {
            XMLHTTP =
                new ActiveXObject("Microsoft.XMLHTTP");
        } catch (ex) {
        }
        }
    }
    function DatenAusgeben() {
        if (XMLHTTP.readyState == 4)  {
            var d = document.getElementById("Daten");
            var s = document.getElementById("Status");
            d.innerHTML += XMLHTTP.responseText;
            s.innerHTML += XMLHTTP.status + " (" +
                           XMLHTTP.statusText + ")";
        }
    }
    window.onload = function() {
        XMLHTTP.open("GET", "daten.txt");
        XMLHTTP.onreadystatechange = DatenAusgeben;
        XMLHTTP.send(null);
    }
    //]]>
    </script>
    </head>
    <body>
        <p id="Daten">Daten vom Server: </p>
        <p id="Status">HTTP-Status:  </p>
    </body>
    </html>
    Nachtrag: Nicht die daten.txt vergessen mit hochzuladen...

    Edit:
    Achgottchen, ich habe ja den Beispiellink vergessen: http://dkmd.de/tests/ajax/ajax.html

    So sieht im Beispiel übrigends die daten.txt aus:
    Dieser Text wird mit AJAX ausgelesen! Ist das nicht genial?<br />Was aber nat&uuml;rlich nicht mehr funktioniert, wenn JS deaktiviert ist...
    Geändert von dkdenz (03-06-2006 um 15:07 Uhr)
    Dirk Klar - Mediendesign - Webdesign - Lübeck.
    Suchmaschinenoptimierung + Barrierefreies Webdesign.


    Es gibt Menschen, die hat der Liebe Gott halt erst kurz vor Feierabend gemacht!

  2.    Empfehlenswerte Literatur von unserem Partner Terrashop

    Das AJAX Kompendium jetzt 84% Rabatt
    Ajax - der Technologiemix aus JavaScript und XML - ist eines der Kernstücke professioneller Web 2.0-Programmierung. Dieses Buch führt Sie auf über 800 Seiten(!) von den ersten JavaScript-Codezeilen bis zur Entwicklung mit Ajax-Frameworks.

    Preis: früher: 49,95€ - jetzt nur: 7,95€

    Hier geht es direkt zum Buch

    Über 1.000 weitere IT-Bücher zum Sonderpreis lieferbar!

  3. #2
    raid_ox ist offline Foren As raid_ox befindet sich auf einem aufstrebenden Ast
    registriert
    08-06-2006
    Ort
    Hamburg
    Beiträge
    88

    AW: [AJAX] Externe Datei einbinden

    aber aus externe server geht nicht oder, wegen firefox sicherheitsupdate? hast du ne idee dazu?

  4. #3
    Avatar von Comet
    Comet ist offline Administrator Comet befindet sich auf einem aufstrebenden Ast
    registriert
    17-09-2001
    Ort
    Austria | Westendorf
    Beiträge
    2.179

    AW: [AJAX] Externe Datei einbinden

    Hi!

    Ich habe, zugegeben etwas zu spät, eine Idee dazu, bzw. habe ich das schon so gemacht!!

    Am eigenen Server ein php-Skript laufen lassen, das per socket-Zugriff aufs 80er Port des gewünschten Servers die Daten mehr oder weniger durchstreamt, ein kleines Beispiel:

    PHP-Code:

    <?php

    $farAwayUrl    
    'www.yourdomain.com';
    $farAwayScript 'myScriptDir/yourscirptOnTheOtherServer.php';

    $connection fsockopen$farAwayUrl80 );

    if( 
    $connection ) {
      
    $header  "GET /".$farAwayScript." HTTP/1.1\r\n";
      
    $header .= "Host: ".$farAwayUrl."\r\n";
      
    $header .= "Connection: Close\r\n\r\n";

      
    fwrite$connection$header );
      while ( !
    feof$connection ) ) {
         echo 
    fgets$connection128 );
      }
      
    fclose$connection );
    } else {
      echo 
    "ConnProb";
      die( );
    }

    ?>
    Hierbei wird die Ausgabe des Script "yourscirptOnTheOtherServer.php" im Verzeichniss "myScriptDir" unter der URL/Host "www.yourdomain.com" durchgestreamt und kann über eben diese dargestellte php-Datei die du irgendwo auf deinen Server ablegst abgerufen werden.

    Du kannst dann auch im responseText zB. den Wert ConnProb abfragen und ein Connection-Problem anzeigen, usw. und sofort
    ..:::Andi:::..

  5. #4
    Avatar von stripmitz
    stripmitz ist offline Tripel-As stripmitz befindet sich auf einem aufstrebenden Ast
    registriert
    24-03-2006
    Beiträge
    160

    AW: [AJAX] Externe Datei einbinden

    @Comet:

    'Kann ich mit JavaScript eine Textdatei in eine Webseite einbinden,
    denn eine serverseitige Sprache steht nicht zur Verfügung?'
    ...

  6. #5
    niilo ist offline Grünschnabel niilo befindet sich auf einem aufstrebenden Ast
    registriert
    08-09-2006
    Beiträge
    1

    AW: [AJAX] Externe Datei einbinden

    hallo zusammen,
    ich möchte ein php-skript einbinden ("<iframe>" und "include()" scheiden aus),
    das ein formular <method="post"> enthält.

    nach <submit> werden unterschiedliche bereiche des skripts ausgeführt.

    DAS PROBLEM:
    der Code von dkdenz (s.o.) bindet das skript zwar ein, die "post-daten" erreichen das skript jedoch NICHT

    ... nach <submit> wird einfach das skript im "start-zustand" aufgerufen.

    Nun hab ich gelesen, dass möglicherweise...

    XMLHTTP.open('POST', 'skript.php','?');
    XMLHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    XMLHTTP.onreadystatechange = DatenAusgeben;
    XMLHTTP.send(?);

    ... im korrekten syntax ein lösungsansatz ist.

    dies ist mein erster kontakt mit ajax und ich habe nur sehr dünne javascript kentnisse.

    kann mir da jemand weiterhelfen?

    vielen dank!

  7. #6
    pit-r Guest

    AW: [AJAX] Externe Datei einbinden

    Moin!
    Zitat Zitat von niilo
    XMLHTTP.send(?);
    Zum Versenden von POST-Daten mußt Du Dein Fragezeichen durch einen string ersetzen, der aufgebaut ist wie ein GET-query-string:

    var senden='name1=wert1&name2=wert2&name3=wert3';
    XMLHTTP.send(senden);

    In Deinem Fall entsprächen die Namen denen der Formularelemente und anstelle der Werte müßtest Du die values der Formularelemente übergeben...

    Ahoi - Pit

  8. #7
    Avatar von Comet
    Comet ist offline Administrator Comet befindet sich auf einem aufstrebenden Ast
    registriert
    17-09-2001
    Ort
    Austria | Westendorf
    Beiträge
    2.179

    AW: [AJAX] Externe Datei einbinden

    ... dann geht es natürlich nicht, daran führt kein Weg vorbei, entweder hat man eine serverseitige Skriptsprache zur Verfügung oder man gibt sich damit zufrieden, daß das eben in allen Browsern mit einer gewissen Sicherheitsstufe nicht funktionieren wird.
    ..:::Andi:::..

  9. #8
    ice24 ist offline Grünschnabel ice24 befindet sich auf einem aufstrebenden Ast
    registriert
    22-12-2006
    Beiträge
    2

    AW: [AJAX] Externe Datei einbinden

    Hallo Dkdenz,

    Ich bin auf dein Script gestoßen und fand es toll. Ich muss wohl vorausschicken, dass ich nicht gerade so der Pro in Sachen Internet bin, hab gerade erst damit begonnen....
    Ich hab ne Frage, die du wahrscheinlich relativ einfach zu lösen verstehen wirst:

    Dein Script ("[AJAX] Externe Datei einbinden") erlaubt es, eine externe .txt-Datei in eine HTML - Datei einzubinden. Wenn ich jetzt den Code enstprechend für, sagen wir mal 5 weitere externe Dateien erweitern möchte, was müsste ich dazu ergänzen!?
    Wäre cool, wenn du mir helfen könntest, wäre dir sehr dankbar, weil ich einfach keinen Plan mehr hab, wie es anzustellen ist.

    Grüße, ice24

    ice-mobil@gmx.net

  10. #9
    Avatar von dkdenz
    dkdenz ist offline Super Moderator dkdenz befindet sich auf einem aufstrebenden Ast
    registriert
    13-04-2004
    Ort
    Lübeck
    Beiträge
    11.180
    Blog-Einträge
    1

    AW: [AJAX] Externe Datei einbinden

    Das Snippet ist eine nette Spielerei, aber ich perönlich würde das niemals benutzen, denn dann bin ich von der Browsereinstellung des Users abhängig.
    Hat der JS deaktiviert, bekommt er nix zu sehen.
    Greife besser auf die include-Funktion von PHP zurück.
    PHP: include - Manual
    Dirk Klar - Mediendesign - Webdesign - Lübeck.
    Suchmaschinenoptimierung + Barrierefreies Webdesign.


    Es gibt Menschen, die hat der Liebe Gott halt erst kurz vor Feierabend gemacht!

  11. #10
    ice24 ist offline Grünschnabel ice24 befindet sich auf einem aufstrebenden Ast
    registriert
    22-12-2006
    Beiträge
    2

    AW: [AJAX] Externe Datei einbinden

    Danke für den Tipp! Ich werde mich mal mit PHP Versuchen; die Seite die du mir empfohlen hast, macht einen guten Eindruck --> ich hoffe, dass ich damit zurechtkomme!
    Schöne Weihnachtsfeiertage!

    Grüße ice24

  12. #11
    NichtsLUZ ist offline Grünschnabel NichtsLUZ befindet sich auf einem aufstrebenden Ast
    registriert
    27-07-2007
    Beiträge
    1

    AW: [AJAX] Externe Datei einbinden

    Guten Tag,
    Bei mir läuft das Script auch. Doch ist da nicht irgendetwas falsch?

    Du lädst eine Datei mit XML-Befehlen (Beispiel: <br />) mit JS vom Server. Das was du erhälst fügst du in bestimmte Abschnitte. Doch wenn ich mit meinem HTML Validator die Seite validiere, nachdem JS den Quellcode verändert hat, zeigt er Fehler an. Die XML-Befehle wurden in HTML-Befehle umgewandelt (Beispiel: <br>)

    Benutzt habe ich den HTML-Validator, dens als Firefox-Addon gibt.
    "Html-Validator 0.8.3.9"

    Klar kann man sich sagen, egal, Hauptsache es läuft, doch ich bin manchmal ein Perfektionist und bei mir darf der Validator deshalb keine Fehler anzeigen

  13. #12
    Avatar von dkdenz
    dkdenz ist offline Super Moderator dkdenz befindet sich auf einem aufstrebenden Ast
    registriert
    13-04-2004
    Ort
    Lübeck
    Beiträge
    11.180
    Blog-Einträge
    1

    AW: [AJAX] Externe Datei einbinden

    Zitat Zitat von NichtsLUZ Beitrag anzeigen
    doch ich bin manchmal ein Perfektionist
    Find' ich gut...
    Dirk Klar - Mediendesign - Webdesign - Lübeck.
    Suchmaschinenoptimierung + Barrierefreies Webdesign.


    Es gibt Menschen, die hat der Liebe Gott halt erst kurz vor Feierabend gemacht!

  14. #13
    cybaer ist offline Kaiser cybaer befindet sich auf einem aufstrebenden Ast
    registriert
    12-09-2006
    Beiträge
    1.335

    AW: [AJAX] Externe Datei einbinden

    Zitat Zitat von NichtsLUZ Beitrag anzeigen
    Klar kann man sich sagen, egal, Hauptsache es läuft, doch ich bin manchmal ein Perfektionist und bei mir darf der Validator deshalb keine Fehler anzeigen
    Fügst Du denn den Code wirklich in ein XHTML-Dokument ein (also Content-Type "application/xhtml+xml"), oder fügst Du den Code in ein (eigentlich) fehlerhaftes HTML-Dokument ein (Content-Type "text/html")? 1)

    Tip: Der DOCTYPE ist für einen Validator interessant, zur Bewertung, ob eine bestimmte Syntax eingehalten wird. Für den Browser ist der Content-Type relevant, mit dem der Server das Dokument ausliefert.


    1) Rhetorische Frage.
    Gruß, Cybaer

+ Antworten

Ähnliche Themen

  1. externe js-dat. einbinden - funktioniert nicht
    Von deSEIN im Forum JavaScript
    Antworten: 9
    Letzter Beitrag: 19-04-2005, 21:27
  2. Externe .js Datei in Ebene einbinden...
    Von dirkdiggler im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 28-08-2004, 12:03
  3. <style> wie <script> in externe Datei tun?
    Von BerndDasBrot im Forum Allgemeines
    Antworten: 6
    Letzter Beitrag: 13-07-2004, 18:57
  4. inhalt aus Datei in Flash einbinden
    Von sanchez im Forum Flash
    Antworten: 5
    Letzter Beitrag: 28-05-2004, 10:12
  5. phpbb css und js Datei einbinden
    Von .holger im Forum Serverseitige Programmierung
    Antworten: 3
    Letzter Beitrag: 26-05-2002, 13:22

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein