Seite 1 von 1

Javascript - Daten packen?

Verfasst: 25.05.2007 16:14
von mgutt
Hallo,

ich möchte einen Text (zwischen 0 und 20.000 Zeichen in der Länge) der sich zwischen einem Tag befindet mit Javascript auslesen und dann in eine URL packen.

Dabei habe ich das Problem, dass der Text schnell mal ein wenig lang wird und 255 Zeichen bzw. 400 als maximale Länge nicht wirklich ausreichen, um den Text zu ermitteln.

Da der Text nicht auf der gleichen Domain ausgelesen wird, als auf der, wo ich die URL Parameter hin übertrage, habe ich das Problem, dass ich nicht mit AJAX, also dem XMLHttpRequest arbeiten kann, da ein Zugriff auf fremde Domains verboten ist.

Nun dachte ich daran die Daten, also den Text irgendwie zu packen und so die URL zu kürzen, wobei das wahrscheinlich auch nicht viel an Zeichenlänge bringen wird.

Was könnte ich sonst noch versuchen?

Eine Idee war noch, das ganze in Java zu lösen und den Text in eine Datei zu schreiben. Aber ich vermute mal ganz stark, dass ich diese Datei dann auch wieder nicht an einen dritten Server bekomme.

Oder mir sagt jetzt jemand, dass die URL-Länge egal ist (wenn es einen Browser gibt, dem das egal ist, dann immer her damit ;) ).

Gruß
Marc

EDIT: Ich konnte zumindest herausfinden, dass die URL Länge beim Internet Explorer maximal 2.083 Zeichen betragen darf:
http://support.microsoft.com/kb/208427/de

Ich bin mir jetzt nur nicht sicher, ob diese Grenze auch bei iframe src gilt. Das werde ich einfach mal testen.

Dann hätte ich ein Problem :(

EDIT2:
Mist mein Server macht da wohl nicht mit:
Request-URI Too Large

The requested URL's length exceeds the capacity limit for this server.
Apache/2.2.4 Server at * Port 80
Die Standardeinstellung für URLs ist für Apacheserver 8000 Zeichen. Man kann den Wert wohl modifzieren, aber ich kann nicht glauben, dass das die einzige Lösung sein kann.

Verfasst: 25.05.2007 17:48
von OnFire
Da hätte ich 2 Lösungsansätze anzubieten:

1.: Bau dir per DOM ein Formular und schick die Daten automatisiert per POST an den Server.

2.: Teile die Daten auf. Mit PHP-Sessions sollte das kein Problem sein.

Verfasst: 25.05.2007 18:44
von Pyramide
Warum verwendest du nicht einfach POST statt GET? Das ist bei solchen Daten sowieso die bessere Methode, damit die Informationen nicht in Logdateien, Proxys usw. gespeichert werden.

Verfasst: 25.05.2007 19:07
von mgutt
Ok, eine Form ist erstellt und dann könnte ich die jetzt auch automatisiert absenden lassen.

Nur wie könnte ich das lösen, dass der das im Hintergrund absendet? Also nicht weiterleitet zur Zielseite?

Verfasst: 25.05.2007 19:22
von OnFire
z.B. indem du den Request in nem "display:none"-iframe abschickst ;)

Verfasst: 26.05.2007 02:38
von mgutt
Ja warte mal. Wie soll ich denn die Daten in den iframe bekommen?

Ich muss ja dann einen iframe bauen. Der hat dann als source die Datei, wo die Form drin ist, die ich automatisiert absende.

Aber wie soll ich dann die Sourcedatei des Frames mit den nötigen Daten füllen? Über die src-Url habe ich ja dann wieder das gleiche Problem mit der Länge ;)

Verfasst: 26.05.2007 04:13
von Pyramide
Wer sagt, daß Formular und Ziel im gleichen Frame sein müssen?

Verfasst: 26.05.2007 10:20
von mgutt
Stimmt. Kann ich mit einem Formular auf einen iframe "zielen" oder brauche ich dazu ein Frameset?

Verfasst: 26.05.2007 12:28
von OnFire
;) Es würde wohl schneller gehn das einfach zu Probieren ;) Aber soweit ich weiß geht das, alles andere würde mich doch stark wundern. Habs allerdings nie gemacht...