Ajax: Formular per POST übergeben.

Tobbes

Mitglied
Nabend!

Ich batel momentan an einer Community..
Mann kan Persöhnlich enachrichten per Ajax löschen, alse sie werden langsam ausgeblndet und dann platzhalter usw entfernt... sieht halt schön aus ;)


Jetz mein problem.. Wenn ich die Pn ausgefüllt habe, will ich das die Pn per Ajax in die DB eingetragen wird, per POST... So da treten meine Probs auf..

Code:
  function createRequestObject() {
      var ro;
      var browser = navigator.appName;
      if(browser == "Microsoft Internet Explorer"){
          ro = new ActiveXObject("Microsoft.XMLHTTP");
      }else{
          ro = new XMLHttpRequest();
      }
      return ro;
  }
  
  var http = createRequestObject();
  var Text = '';
  
  function sndReq(page) {
      http.open('get', page);
      http.send(null);
  }
  
  function sndform(page) {
  	http.open('POST', page);
  	http.send(null);
  }

So das ist mein Ajax code...
Wenn ich auf Abschicken klicke wird die function sndform(page) aufgerufen, mit der passende URl... alelrdings klappt das Post net.. kann mir jemand sagen weshalb?

Danke!

MfG
Tobbes
 
Wird denn keine Fehlermeldung zurückgegeben? Arbeite am besten mit Firefox, da es für ihn klasse Erweiterungen zur Fehleranalyse gibt wie etwa FireBug.
 
Hi,

wenn Du POST-Anfragen sendest, muss der MIME-Type angepasst werden.
Code:
function sndform(page) {
  http.open('POST', page);
  http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  http.send(null);
}
Vielleicht löst das Dein Problem.

Ciao
Quaese
 
Danke euch beiden, also es wird kein error angezeigt.. es wurde zwar einer angezeigt das die snform nicht existiert aber musste nur mein cahce löschen und neu laden, dann war sie vorhanden und es gab keine error mehr...

Leider klappt der code trozdem nicht..


Kann ich den überhaupt mit $_POST[] arbeiten?
 
ja du kannst mit $_POST[] arbeiten, aber du übergibst die PostVariablen nicht.
Diese werden normaler weise als "Inhalt" übertragen, z.B. so:
http.send('msg=helloWorld');
In diesem fall wird $_POST['msg'] mit dem Inhalt 'helloWorld' übergeben, um jetzt dein Script lauffähig zu machen, musst du alle Inhalte der Input Tags einlesen und zu so einer Variablen kette zusammen fügen, um sie dan mit :
http.send(parameter); zu übergeben.
 
Danke, auch mir wurde dank dieses Threads (und ein wenig Google) geholfen!
 
Zurück