Problem mit AJAX und base64 Codierung
Olaf
- javascript
Hallo zusammen,
Formulardaten aus einem Memofeld "Feld_1" in der Datei "Eingabe.html" übergebe ich mit AJAX (POST) an eine PHP Datei "speichern.php".
Der Inhalt von Feld_1 wird per Javascript in einen String s eingelesen. Vor der Übergabe an AJAX wird s mit einer Javascript-Funktion base64 codiert.
s sieht also etwa so aus: PEhUTUw+PEhFQUQ+PC9IRUFEPg...
Nach langem Hin und Her habe ich jetzt rausgefunden, dass bei speichern.php dieser String ankommt: PEhUTUw PEhFQUQ PC9IRUFEPg...
Das heißt die Pluszeichen sind verschwunden, stattdessen sind Leerzeichen im String und damit funktioniert natürlich auch
base64_decode() in speichern.php nicht mehr.
Die Codierung mit der Javascript Funktion ist OK, denn wenn ich in speichern.php den String fest reincodiere
$testvar = "PEhUTUw+PEhFQUQ+PC9IRUFEPg...", dann wird richtig decodiert. Es liegt also tatsächlich an diesen fehlenden "+".
Hat jemand eine Idee, wo mein Denkfehler ist oder was ich tun kann?
Vielen Dank & Grüsse
Olaf
Lieber Olaf,
vielleicht magst Du mit Javascript den String noch http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#encode_uri_component@title="escapen", nachdem Du ihn umgewandelt hast?
Liebe Grüße aus Ellwangen,
Felix Riesterer.