Ernst Richter: Absenden von Formulardaten unter Beibehaltung der aktuellen Seite

Hallo,

ich möchte aus einer HTML-Seite heraus per JavaScript Formulardaten an ein ASP- oder CGI-Skript senden, ohne das dieses Skript im Browserfenster aufgerufen und dargestellt wird.

Selbst wenn ich ein ASP-Skript ohne HTML-Ausgaben schreibe, wird im Browserfenster eine leere Seite angezeigt.

Kann jemand helfen?

Ernst Richter

  1. Was richtig gescheites weiß ich leider auch nicht.
    ich hab da einfach beim Submit gleich nen "histpry.back()"
    mitgeschickt. Wenn du nen schnellen Server hast, fällt das garnicht auf, daß eine leere Seite kam.
    Mehr weiß cih leider auch nicht. Sorry

    Franky

  2. Hi Ernst,

    ich sehe zwei Möglichkeiten:

    a) Du schickst am Ende der ASP-Seite per response.redirect direkt wieder zurück auf die Herkunftsseite
    b) Du setzt den kompletten HTML-Code nochmal auf die ASP-Seite unterhalb Deines Skriptes. Dann wird zwar de facto die Seite gewechselt, aber niemand sieht es (außer in der Adresszeile)

    Grüße,

    Utz

  3. Hallo

    noch eine weitere Variante.
    Im FORM-Tag kann man ein Zielfenster angeben. Richte auf Deiner Seite einfach ein Frameset ein mit einem 0 Pixel-Frame und setze dieses als Antwortfenster. Ist zwar auch nicht so toll, aber immerhin eine Möglichkeit.

    Gruß
       Michael

  4. Hallo Ernst!

    Damit keine leere Seite angezeigt wird, muss Dein Script einen HTTP-Header mit "Status: 204 No response\n\n" zurückgeben. Dann ist der Server zufrieden und der Browser weis, das er nichts ändern soll. Tust Du das nicht, dann meckert entweder Dein Server (z.B. ...script returns nothing) oder er sendet was (keine Ahnung was) und die "alte" Seite im Browser wird gelöscht. Der Grund ist folgender: Ein CGI-Aufruf besteht immer aus einem Request (Browser-->Server) und einem Response (Server-->Browser). Siehe dazu http://cgi.xwolf.com/faq/cgitutor.shtml

    Gruß Frank

    1. Die beschriebene Lösung löst das Problem hervorragend!