mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mo 01.12.2008 21:24 Benutzername: Passwort: Auto-Login

Thema: Text-Formatierung mittels 'ajaxRequest.open' beibehalten vom 05.07.2008

Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Text-Formatierung mittels 'ajaxRequest.open' beibehalten
Autor Nachricht
cRime
Threadersteller

Dabei seit: 07.05.2006
Ort: Osnabrück
Alter: 24
Geschlecht: Männlich
Verfasst Sa 05.07.2008 18:33
Titel

Text-Formatierung mittels 'ajaxRequest.open' beibehalten

Antworten mit Zitat Zum Seitenanfang

Ich habe folgendes Problem:

Ich schreibe in eine Datenbank mittels AJAX und PHP.

Soweit läuft alles, nur sobald ich mittels ajaxRequest.open die Daten an die PHP Datei sende, empfängt diese nur einen ganzen String (ohne <br> etc.)

ich habe mit nl2br() versucht die Daten wieder HTML-Fähig zu machen, nur leider kam ich zum Ergebnis dass die PHP Datei den Text garnicht erst formatiert bekommt.
Code:
   var queryString = "?news_header=" + header + "&news_subtitle=" + subtitle + "&news_text=" + text + "&news_image=" + image;
   alert (text);
   
   try {
      ajaxRequest.open("GET", "../php/new_news.php" + queryString, true);
      alert("Daten wurden eingetragen!");
   } catch (e) {
      alert("Daten konnten nicht eingetragen werden!");
   }
   ajaxRequest.send(null);


Auszug aus der PHP Datei die die Datenbank Einträge macht (erfolgreich!)
Code:
$text = nl2br($_GET['news_text']);

Hier bekomme ich bei beiden Variablen nur einen ganzen String, ohne Umbruch etc.

Also muss die Ajax-Sende-Methode den formatierten String zerstören.


Wie bekomme ich nun den String formatiert in die PHP Datei?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Zeithase

Dabei seit: 09.05.2005
Ort: Arnstadt
Alter: 23
Geschlecht: Männlich
Verfasst Sa 05.07.2008 18:51
Titel

Antworten mit Zitat Zum Seitenanfang

Verwende POST. Immer. Nicht nur aus praktischen Gruenden (dann hast Du dieses Problem bei textarea-Objekten nicht), sondern auch, um Caching-Bugs des IEs entgegenzutreten.

// Addon: zumal ist es bei nativem Ajax ebenfalls besser, den Request-Header zu uebergeben. Beispiel:

Code:
function sndReq() {
          var sendstring = document.getElementById('testfeld').value;
          ajaxRequest.open('post', 'test.php');
          ajaxRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
          ajaxRequest.onreadystatechange = handleResponse;
          ajaxRequest.send('testfeld='+sendstring);
     }


Zuletzt bearbeitet von Zeithase am Sa 05.07.2008 18:57, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
cRime
Threadersteller

Dabei seit: 07.05.2006
Ort: Osnabrück
Alter: 24
Geschlecht: Männlich
Verfasst Sa 05.07.2008 20:04
Titel

Antworten mit Zitat Zum Seitenanfang

habs auch schon mit post versucht.
leider ohne erfolg.

ich werde mal den tip mit dem request versuchen.
den hatte ich nämlich drin, und wieder rausgenommen...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Zeithase

Dabei seit: 09.05.2005
Ort: Arnstadt
Alter: 23
Geschlecht: Männlich
Verfasst Sa 05.07.2008 20:08
Titel

Antworten mit Zitat Zum Seitenanfang

Quick, dirty and ugly: ein Beispiel fuer Dich. *zwinker* Die crime-test.php sieht folgendermaßen aus:

Code:
echo nl2br($_POST["testfeld"]);
  View user's profile Private Nachricht senden
cRime
Threadersteller

Dabei seit: 07.05.2006
Ort: Osnabrück
Alter: 24
Geschlecht: Männlich
Verfasst Sa 05.07.2008 20:43
Titel

Antworten mit Zitat Zum Seitenanfang

danke, aber macht es einen großartigen unterschied wenn ich die php dafür aufrufe, um in die datenbank zu schreiben, du aber um eine antwort zu erhalten?

du bekommst ja den text zurückgeliefert.

mir ist es eigentlich unwichtig ob ich den text wieder zurück bekomme.
hauptsache es steht in der datenbank.
prüfen kann ich ja auch anders... ich werde mich mal mit deinem quelltext auseinander setzen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Zeithase

Dabei seit: 09.05.2005
Ort: Arnstadt
Alter: 23
Geschlecht: Männlich
Verfasst Sa 05.07.2008 20:44
Titel

Antworten mit Zitat Zum Seitenanfang

cRime hat geschrieben:
danke, aber macht es einen großartigen unterschied wenn ich die php dafür aufrufe, um in die datenbank zu schreiben, du aber um eine antwort zu erhalten?

du bekommst ja den text zurückgeliefert.


Na, ob Du den Text nun echo'en laesst oder in eine Datenbank pappst - das Text bleibt, inklusive der <br/>-Elemente gleich.
  View user's profile Private Nachricht senden
cRime
Threadersteller

Dabei seit: 07.05.2006
Ort: Osnabrück
Alter: 24
Geschlecht: Männlich
Verfasst Sa 05.07.2008 21:26
Titel

Antworten mit Zitat Zum Seitenanfang

danke, habs jetzt hinbekommen.

allerdings scheint es so dass ich einiges noch nicht ganz verstanden habe.

also mit open wird ja ganz normal die datei geöffnet.
mit send dann die parameter übergeben.

doch inwiefern ist das onreadystatechange wichtig?

ich hab es zwar drin, als prüfer, aber muss das sein wenn ich eh nichts erwarte?

dann dürfte man ja bei dir die komplette handleResponse funktion eigentlich raus lassen, oder?


Zuletzt bearbeitet von cRime am Sa 05.07.2008 21:27, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [Erledigt] [Flash + AS2 + PHP] Text und Bild formatierung
Ajaxrequest funktioniert nicht.
[javascript] mootools ajaxrequest charset
Scrollbalken-Position bei Navigation beibehalten
Google Platzierung beibehalten - Seite überarbeiten
Fläche einfärben und dabei Helligkeitswerte beibehalten
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.