Paul: ajax vs js

Moin.

Wenn mein Seitenbesucher über einen bestimmten Teil einer meiner Seiten fährt (onmousemove) bekommt er pixelgenaue Berechnungen bei jedem onmousemove. Diese Berechnungen passieren serverseitig.

Meine Frage:
Wo liegt der Unterschied zwischen einem ajax Aufruf per GET:
 - http.open("GET", "meine/Server/Berechnung.exe?x=10&y=10", true);
und einem
 - onmousemove="meine/Server/Berechnung.exe?x=10&y=10"

Paul

  1. Hallo,

    Wo liegt der Unterschied zwischen einem ajax Aufruf per GET:

    • http.open("GET", "meine/Server/Berechnung.exe?x=10&y=10", true);
      und einem
    • onmousemove="meine/Server/Berechnung.exe?x=10&y=10"

    Letzteres ist erst einmal fehlerhafter Code. In das onmousemove-Attribut gehört JavaScript-Code anstatt bloß eine URL. So wird das nur einen Syntaxfehler auslösen, sonst nichts tun. Was beabsichtigt dieser Code?

    Mathias

    1. @@molily:

      nuqneH

      • onmousemove="meine/Server/Berechnung.exe?x=10&y=10"

      Letzteres ist erst einmal fehlerhafter Code. In das onmousemove-Attribut gehört JavaScript-Code […]

      Ja, und außerdem muss im HTML-Kontext das '&' escapet werden. [HTML401 §B.2.2, qa-escapes]

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. fehlerhafter Code ...

        Klar. Mir gings nur um die Theorie.

        Als Ergebnis kommt ein Wert, der zu dem darunterliegenden (unter dem Cursor) Pixel passt. Läuft auch per ajax. Meine frage ist halt: kann man das Programm auch einfach bei jedem onmousemove aufrufen? Natürlich noch schön in 'ner Funktion verpackt...

        1. Meine frage ist halt: kann man das Programm auch einfach bei jedem onmousemove aufrufen? Natürlich noch schön in 'ner Funktion verpackt...

          Klar, per Ajax ....

          1. Klar, per Ajax ....

            Ha! Alles klar, danke.

        2. Als Ergebnis kommt ein Wert, der zu dem darunterliegenden (unter dem Cursor) Pixel passt. Läuft auch per ajax. Meine frage ist halt: kann man das Programm auch einfach bei jedem onmousemove aufrufen? Natürlich noch schön in 'ner Funktion verpackt...

          Dir ist aber klar, dass mousemove quasi "Dauerfeuer" darstellt?

  2. Hallo,

    Wenn mein Seitenbesucher über einen bestimmten Teil einer meiner Seiten fährt (onmousemove) bekommt er pixelgenaue Berechnungen bei jedem onmousemove. Diese Berechnungen passieren serverseitig.

    Was genau soll denn Berechnet werden und warum Serverseitig wenn du sowieso schon ajax/js verwendest?

    Zu deiner eigentlichen Frage:
    wenn du mit js eine Serverabfrage machst passiert das unter der Verwendung von AJAX. somit stellt sich die Frage nach dem Unterschied zwischen js/AJAX nicht.

    Viele Grüße,
    Tim

    1. wenn du mit js eine Serverabfrage machst passiert das unter der Verwendung von AJAX. ...

      Also wird immer ein XMLHTTP Request abgesetzt wenn man zB folgendes macht?

      onmouseover="abc()"

      function abc() {
        document.myElement.innerHTML = '<iframe src="http://meine/Berechnungen/Programm.exe"></iframe>';
      }

      1. Also wird immer ein XMLHTTP Request abgesetzt wenn man zB folgendes macht?

        Nein, da wird der DOM  manipuliert.
        Hier passiert ja keine Anfrage an den Server, du schreibst lediglich ein neues Element innerhalb eines anderen Elementes.

        1. Hallo,

          Also wird immer ein XMLHTTP Request abgesetzt wenn man zB folgendes macht?

          zumindest ein gewöhnlicher HTTP-Request.

          Hier passiert ja keine Anfrage an den Server, du schreibst lediglich ein neues Element innerhalb eines anderen Elementes.

          Wenn der neue Elementinhalt aber seinerseits wechselnde Inhalte enthält (etwa ein Bild oder wie im Beispiel genannt ein iframe), wird dieser Inhalt mit einem weiteren HTTP-Request neu angefordert. Oder je nach Browserkonfiguration und Caching-Einstellungen auch aus dem Browser-Cache gefischt (davon weiß JS aber nichts).

          Ciao,
           Martin

          --
          Die neue E-Mailadresse des Papstes: mailto:urbi@orbi
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(