Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 12-01-2012, 19:47
misterflash
 Registrierter Benutzer
Links : Onlinestatus : misterflash ist offline
Registriert seit: Jan 2012
Beiträge: 3
misterflash befindet sich auf einem aufstrebenden Ast
Standard

Erstmal danke an euch beide für eure Antworten und entschuldigt bitte die späte Rückmeldung - hatte diese Woche nicht viel Zeit und wollte außerdem alle Lösungsvorschläge ausprobieren, bevor ich mich zurück melde - also:

1. Die Lösung mit dem Ändern des src-Attributs fällt für mich weg, da ich viele Daten an mein PHP-Script, das per AJAX aufgerufen wird, übergeben möchte - und dazu benötige ich POST.

2. ich habe mich nun mit den übrigen Links beschäftigt. Die Sache mit dem ResponseType "arraybuffer" und "Response" anstatt von "ResponseText" löst mein Problem leider nicht - da bekomme ich nicht nur die ganzen Sonderzeichen (die Binärdaten meines Bildes, nehme ich an), sondern überhaupt kein Ergebnis.

3. Ich habe mir nun einen neuen Lösungsweg überlegt:
index.php = Hauptseite, die per AJAX die Datei "createimage.php" aufruft.
createimage.php = erzeugt das neue Bild.

In meinem PHP-Script, das die Grafik erzeugt, lasse ich mir das neu generierte Bild nicht direkt ausgeben, sondern speichere es als Datei ab. Das funktioniert auch mit meinen POST-Daten wunderbar.
Mein Problem ist nun, dass ich es ja auch direkt, nachdem AJAX fertig ist, das neue Bild auch anzeigen möchte. Der theoretische Weg war folgender: Zuerst Bild erzeugen und in Datei abspeichern, dann in die Hauptseite einbinden. Mein Problem ist aber nun, dass anscheinend das Bild nicht fertig wird, bis es per img-Tag in die Hauptseite eingebunden wird. Anscheinend bringt die IF-Abfrage im AJAX-Script nach "readystate = 4" nicht den gewünschten Effekt.
Nun habe ich mir folgenden Ansatz überlegt: Man tippt den Text ins Textfeld ein > wird per AJAX an createimage.php übergeben > erzeugt neue Grafik mit dem Text. In der Datei createimage.php wird, nachdem die Grafik erfolgreich erzeugt wurde, eine Javascript-Funktion aufgerufen, die in der Hauptdatei (index.php) steht. Diese Funktion lädt das neu generierte Bild per src-Attribut neu - denkt ihr, dass das funktionieren könnte?

Mein Problem ist nun, dass anscheinend Javascripts in Dateien, die per AJAX in eine Datei geladen werden, nicht ausgeführt werden und per eval() erst ausgeführt werden müssen. Wie stelle ich das nun an?

In der Hauptdatei (index.php) steht also die Funktion "reloadImage(File)" und in der createimage.php-Datei steht dann der Aufruf "reloadImage('neuedatei.png');". Wo muss die eval-Anweisung dann stehen?

Für jeden weiteren Tipp bin ich dankbar

Misterflash
Mit Zitat antworten