print header(-STATUS =» '204 No response'); funzt nicht
Timothy
- cgi
Hallo Gemeinde,
auch wenn mich Roman und/oder Michael steinigen, ich mache trotzdem einen neuen Thread auf.
Mein Problem: Wie kann man ein CGI-Script aufrufen, welches einige Aktionen ausführt aber keine neue Seite zurückliefert, d.h. die rufende Seite soll im Browser weiterhin angezeigt werden.
In der Literatur "Perl-Cook-book" wird folgendes angeboten:
<cite>
Telling the client's browser that you don't plan to produce any output is not the same as redirecting nowhere:
use CGI qw(:standard);
print header( -STATUS => '204 No response' );
That produces this:
Status: 204 No response
Content-Type: text/html
<blank line here>
Use this, for instance, when the user will submit a form request but you don't want their page to change or even update.
</cite>
Leider funzt das bei mir nicht. Die aufrufende Seite wird gelöscht, und das Browserfenster ist weiß.
Meine Konfiguration: WIN98, MSIE 5.01 OmniHTTPd-Server Vers. 2.06 als "localhost".
Liegt es am Server, daß er eventuell keinen richtigen Header zurückliefert?
Hat der MSIE da einen Bug?
Unter Netscape 4.6 geht es, allerdings kommt da so eine blöde Meldung:
Das Dokument enthielt keine Daten.
Versuchen Sie es später noch einmal, oder wenden Sie sich an den Server-Verwalter.
Und man muß ok-betätigen(auch nicht sehr elegant für eine Hintergrundverarbeitung).
Vielleicht weiß ja jemand eine Lösung bzw. ist in der Lage dies mal mit dem Apache oder IIS auszuprobieren.
Bin für jeden Tip dankbar.
Bye
Timothy
Hallo Timothy,
eigentlich sollte der von Dir beschriebene Ansatz funktionieren - klappt bei mir unter WIN98SE und WebSite - sowohl mit NS 407 als auch IE 5.01 ohne Probleme.
Wie rufst Du das Skript auf? Und soll es sonst noch was tun?
(Nebenbei halte ich es für keine sehr gute Idee dem User keine Rückmeldung über seine Aktion im Formular anzuzeigen).
Thorsten
Hi Thorsten,
als erstes - siehe bitte meine Antwort auf Björn Posting.
Wie rufst Du das Skript auf? Und soll es sonst noch was tun?
aus einem Formular als action-Methode bei submit
(action="http://localhost/autoselfhtml/savelink.cgi" method="get").
(Nebenbei halte ich es für keine sehr gute Idee dem User keine Rückmeldung über seine Aktion im Formular anzuzeigen).
Das Script soll im Hintergrund nur einige Daten spreichern - nichts schlimmes - nur Angaben über besuchte Seiten - es handelt sich um ein "Konkurrenzprojekt" ;-) zum SELFBROWSER
Dabei möchte ich abspeichern, welche Postings bereits gelesen wurden um dem USER eine Möglichkeit zu geben, komplett gelesene Threads aus der Anzeige auszufiltern um den Gesamt-Threadbaum übersichtlicher zu gestalten.
Das dazu. Wie gesagt - es muß am Server OmniHTTPd liegen.
Danke für Deine Hilfe
Bye
Timothy
Status: 204 No response
Status: 204 No response
Hi Björn,
vielen Dank für diese Information.
Nach studium diese Seite und Ausführen des Test kann wohl festgestellt werden, daß es am Server OmniHTTPd liegt. Der auf der Seite angebotene Test lief sowohl auf MSIE als auch beim Netsi (ohne die von mir erwähnte Meldung).
Werde ich wohl doch auf den Apache umsteigen.
Also, nochmals vielen Dank - Dein Tip erspart mir viele weitere Stunden grübeln und probieren.
Bye
Timothy
Hi,
Werde ich wohl doch auf den Apache umsteigen.
gute Wahl! Um gleich mal einigen Konfigurations-Fragen vorzubeugen: Es fehlt Options All ;-)
Cheatah
Um gleich mal einigen Konfigurations-Fragen vorzubeugen: Es fehlt Options All ;-)
????
Noch Null Ahnung von Apache.
Timothy
Hi,
Um gleich mal einigen Konfigurations-Fragen vorzubeugen: Es fehlt Options All ;-)
????
Noch Null Ahnung von Apache.
installier's erst mal. Die Konfiguration geschieht durch eine eigentlich recht brauchbar kommentierte httpd.conf-Datei - und die häufigste Antwort auf Fragen dazu ist obige. Wenn Du also nicht weiterkommst, denk einfach mal dran :-)
Cheatah
installier's erst mal. Die Konfiguration geschieht durch eine eigentlich recht brauchbar kommentierte httpd.conf-Datei - und die häufigste Antwort auf Fragen dazu ist obige. Wenn Du also nicht weiterkommst, denk einfach mal dran :-)
Hi,
anscheinend kennst Du Dich mit Apache ganz gut aus. Darum eine klitzekleine Frage:
Ich habe z.Zt. nur ein WIN98 - Rechner. Macht es Sinn, da den Apache zu installieren?
Mein eigentliches Problem habe ich gelöst (work-around) - und ansonsten bin ich, da nur lokal agierend , mit dem OmniHTTPd recht zufrieden. Er kann CGI/Perl/PHP und mehr brauche ich z.Zt. nicht. Und aus der Literatur als auch durch diverse Postings hier im Forum habe ich entnommen, daß der Apache doch etwas komplizierter zu handeln ist, als z.B. der Omni.
Ist da was dran?
Gruß
Timothy
Hi,
anscheinend kennst Du Dich mit Apache ganz gut aus. Darum eine klitzekleine Frage:
naja, es geht so...
Ich habe z.Zt. nur ein WIN98 - Rechner. Macht es Sinn, da den Apache zu installieren?
Ja. Ich habe nichts anderes.
Vor allem macht es Sinn, sein eigenes System möglichst ähnlich dem Server zu konfigurieren, den man (online) benutzt.
Mein eigentliches Problem habe ich gelöst (work-around) - und ansonsten bin ich, da nur lokal agierend , mit dem OmniHTTPd recht zufrieden. Er kann CGI/Perl/PHP und mehr brauche ich z.Zt. nicht.
Solange ich kein SSI brauchte, hatte ich den gleichen Server... OmniHTTPd reagiert aber in dem Bereich völlig konträr zum Apache. Vor dem Upload mußte ich alle Seiten ändern, damit ich keine Fehlermeldungen bekam.
Und aus der Literatur als auch durch diverse Postings hier im Forum habe ich entnommen, daß der Apache doch etwas komplizierter zu handeln ist, als z.B. der Omni.
Korrekt, allerdings nur, solange man die Software konfigurieren muß ;-) Danach würde ich Apache jedem anderen Produkt vorziehen, weil es einfach dem Standard entspricht.
Cheatah
Hi Cheatah,
besten Dank für die erschöpfende Auskunft. weiß ich wenigstens, was ich am Wochenende zu tun habe.
Bye
Timothy