Devel: Mit javascript eine serverseitige Aktion starten.

Hi,

Weiss jemand ob es möglich ist mit Javascript eine Serverseitige Aktion anzustossen ohne dass das Fenster neu geladen werden muss?

z.B. Ich möchte ein JavaScript für eine Navigation in Form eines Trees verwenden.
Die Ebenen des Trees können aufgeklappt und zugekalappt werden ohne dass das Fenster neu geladen wird. Was aber wenn ich dabei noch etwas serverseitig machen muss (z.B. eine Datenbank abfrage mit php oder jsp stattfinden muss) damit z.B. etwas zusätzliches mit dem Tree passieren kann.

Geht das überhaupt oder ist es nur mit neu laden des Fensters verbunden?

Danke im Vorras für Tipps
Devel

  1. hi,

    Weiss jemand ob es möglich ist mit Javascript eine Serverseitige Aktion anzustossen ohne dass das Fenster neu geladen werden muss?

    hinter jeder serverseitigen ressource kann sich ein script verbergen, nicht nur hinter einer html/php-seite, sondern z.b. auch hinter einem bild.

    gruß,
    wahsaga

  2. Hi Devel,

    Weiss jemand ob es möglich ist mit Javascript eine Serverseitige Aktion anzustossen ohne dass das Fenster neu geladen werden muss?

    ich habe das mal so gemacht, daß ich ein 'unsichtbares' iframe in der Seite hatte, welchem ich per JavaScript dynamisch unterschiedliche src-Attribute verpasst habe.
    Z.B. myIframeObject.src=myQueryPage.php?myAction=1...
    Serverseitig wurde anhand der Parameter der weitere Ablauf gesteuert und die Antwort wurde als JavaScript-Variablen in die zurückgelieferte (unsichtbare) Seite geschrieben. Da dieser Vorgang unter Umständen einige Zeit dauern kann, muß noch überprüft werden, ob die neu zu ladende Seite bereits vollständig geladen wurde, bevor Dein clientseitiges Script die Verarbeitung der Daten beginnt.

    cu, ziegenmelker

    1. ich habe das mal so gemacht, daß ich ein 'unsichtbares' iframe in der Seite hatte, welchem ich per JavaScript dynamisch unterschiedliche src-Attribute verpasst habe.
      Z.B. myIframeObject.src=myQueryPage.php?myAction=1...
      Serverseitig wurde anhand der Parameter der weitere Ablauf gesteuert und die Antwort wurde als JavaScript-Variablen in die zurückgelieferte (unsichtbare) Seite geschrieben. Da dieser Vorgang unter Umständen einige Zeit dauern kann, muß noch überprüft werden, ob die neu zu ladende Seite bereits vollständig geladen wurde, bevor Dein clientseitiges Script die Verarbeitung der Daten beginnt.

      Hi ziegenmelker,

      ;)cool - dein Nickname,

      Ok, das Beispiel von Dir hört sich interresant an, ich werde das mal ausprobieren.
      Danke!
      Devel

    2. hi,

      Da dieser Vorgang unter Umständen einige Zeit dauern kann, muß noch überprüft werden, ob die neu zu ladende Seite bereits vollständig geladen wurde, bevor Dein clientseitiges Script die Verarbeitung der Daten beginnt.

      warum nicht einfach die weitere verarbeitung von der in diesem iframe geladenen seite aus anstossen lassen?
      dann brauchst du nicht an irgendeiner anderen stelle ein "warten" oder "prüfen" einbauen ...

      gruß,
      wahsaga

      --
      [ Hier könnte Ihre Werbung stehen! ]
      1. Hi wahsaga,

        Da dieser Vorgang unter Umständen einige Zeit dauern kann, muß noch überprüft werden, ob die neu zu ladende Seite bereits vollständig geladen wurde, bevor Dein clientseitiges Script die Verarbeitung der Daten beginnt.

        warum nicht einfach die weitere verarbeitung von der in diesem iframe geladenen seite aus anstossen lassen?
        dann brauchst du nicht an irgendeiner anderen stelle ein "warten" oder "prüfen" einbauen ...

        Das kann man natürlich eventuell machen, jedoch muß man dann für Eindeutigkeiten sorgen, das kann leicht zu schwer zu findenden Fehlern führen. Will sagen, je nach auslösendem Event kann es ganz unterschiedlich sein, was dann von der zurückgelieferten Seite zu machen ist.
        Ich hatte schon Fälle, wo ich alle 'klickbaren' Elemente der Seite auf invisible gesetzt habe solange keine Antwort von der Datenbank gekommnen war.

        B.t.w., ich wollte ja nicht alles lösen, ich würde nach erfolgreichem Feedback vom Server einfach eine Variable in der Hauptseite setzen und darauf warten (jaja, mit 100% CPU-Last), deshalb den Mauszeiger noch zur Sanduhr, damit man sieht das da was passiert.