cgi print ohne Content...?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
krisi12345
User
Beiträge: 205
Registriert: Mittwoch 4. März 2009, 16:56
Wohnort: Das schöne München
Kontaktdaten:

HI!
Mein Problem ist das Ich eine Python Datei habe die per CGI mit einer Javascript/HTML kommuniziert.
Die Datei soll wenn alles Okay ist den Wert "okay" ausgeben und wenn nicht "no".
Wenn Ich aber die Daten ohne "Content-Type: text/html" schicken will wird ein "500" Fehler ausgegeben, wenn Ich aber "Content-Type: text/html" einfüge kann Ich in Java-script wiederum den Wert nicht mit "if" abfragen da der Browser das "Content-Type: text/html" sozusagen verschlingt und anzeigt oder auswertet.
Ich habe es schon mit \n\n im if Teil versucht ging aber auch nicht.

Weis einer eine Lösung?

Die kommplette Ausgebe der Py datei sieht folgendermaßen aus:

Code: Alles auswählen

  print "Content-Type: text/html"
  print
  print "okay"
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Von welchem JavaScript sprichst du?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
krisi12345
User
Beiträge: 205
Registriert: Mittwoch 4. März 2009, 16:56
Wohnort: Das schöne München
Kontaktdaten:

Javascript! Das das in HTML bzw. Internet Browsern verwendet wird.
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Ich glaube Leonidas meint den Javascript Code der nirgends hier zu sehen ist.
Benutzeravatar
krisi12345
User
Beiträge: 205
Registriert: Mittwoch 4. März 2009, 16:56
Wohnort: Das schöne München
Kontaktdaten:

Oh! :D
Ein Teil des Codes, im Rest des Codes steht nur Ajax Zeugs drin:

Code: Alles auswählen

....
                          	if (req.responseText == "no") {
                            		em1.className = "in1error";
                            	}
....
Wie schon gesagt: Im if Teil des Java Codes kann ich nur "no"/"okay" abfragen aber im Python Code muss aber auch Content-Type:.... davor stehen.
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich denke der Code reicht nicht aus, das Problem nachvollziehbar zu machen! Gib doch einfach mal ein minimales Beispiel...
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

krisi12345 hat geschrieben:

Code: Alles auswählen

....
                          	if (req.responseText == "no") {
                            		em1.className = "in1error";
                            	}
....
Hallo krisi!

Erstens, würde ich nicht "text/html" zurück liefern, sondern "text/plain". Und ja, die Angabe des Heades ist zwingend. Der Browser erwartet das auch so. Der will wissen, was du ihm da so zurück lieferst. Und das gibt man im Kopf der CGI-Rückgabe an.

Zweitens kannst du dir ja mit ``alert(req.responseText)`` anzeigen lassen, was du vom Browser als responseText zur Verfügung gestellt bekommst. Dann kannst du deine eigenen Schlüsse daraus ziehen.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Antworten