bleicher: AJAX - requesr reihenfolge?

Grüße,

ich habe folgendes aus tutorialstücken gebastelöt: (ausschnitt an dem es liegt):

Problem: die idee war, dass ich die daten vom server mit get hole, im textfeld verarbeite, mit post an den server schicke, und noch mal mit get hole (neue version)

nur wird beim 2en get der gleiche text geholt. in der datenbank wird schon das neue gespeichert - aber das 2e AJAX.get gibt mir trotzdem den gleichen text wie beim ersten versuch , muss man es resetten o.ä?

  
AJAX.get=function(o, table, id, cut){  
	//bekommt object mit:  
	//1)methode  
	//2)ziel url  
	//3)parameter  
	//4)angabe ob antwort erwartet wird  
		AJAX.object=o;  
		AJAX.strlen=cut;  
		AJAX.g=new XMLHttpRequest();  
			var url="ajax.php?ajax=1&table="+table+"&id="+id;  
  
		AJAX.g.open("GET", url, true);		  
		AJAX.g.setRequestHeader("Content-Type","text/plain");  
		AJAX.g.onreadystatechange = AJAX.put;  
		AJAX.g.send(null);  
}  
  
AJAX.post=function(o, table, data, id){  
var url="ajax.php";  
var string=0;  
	if(id==undefined){  
		id="";  
	}else{  
		id="&whereid="+id;  
	}  
		data=encodeURIComponent(data);  
			data="table="+table+"&text="+data+id;  
		AJAX.p=new XMLHttpRequest();  
		AJAX.p.open('POST',  url);  
		AJAX.p.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');  
		AJAX.p.send(data);  
		AJAX.p.onreadystatechange=AJAX.alert;  
}  

MFG
bleicher

--
__________________________-

FirefoxMyth
  1. Gruß Dich,

    Problem: die idee war, dass ich die daten vom server mit get hole, im textfeld verarbeite, mit post an den server schicke, und noch mal mit get hole (neue version)

    Müsste funktionieren, so würde ich das auch machen:

    • Textfeld füllen beim Laden der Seite (onload => ajax)
    • Text bearbeiten
    • Post per ajax (onclick)
    • die response vom Post annehmen und ins Textfeld schreiben

    nur wird beim 2en get der gleiche text geholt. in der datenbank wird schon das neue gespeichert

    prima, wenns bis hier geht, kriegst Du den Rest auch zum Laufen.

    aber das 2e AJAX.get gibt mir trotzdem den gleichen text wie beim ersten versuch , muss man es resetten o.ä?

    Ich denke, Du solltest mal das Textfeld leermachen. Insgesamt sollten jedoch 2 ajax-Requests genügen, siehe oben, also den GET beim Laden der Seite und den POST zum Abschicken. Was danach ins Textfeld soll, kann in der Response stehen, die der Post-Request zurückgibt.

    Viele Grüße,
    Horst

    1. Grüße,

      Ich denke, Du solltest mal das Textfeld leermachen. Insgesamt sollten jedoch 2 ajax-Requests genügen, siehe oben, also den GET beim Laden der Seite und den POST zum Abschicken. Was danach ins Textfeld soll, kann in der Response stehen, die der Post-Request zurückgibt.

      "brett" klar - warum bin ich nicht gleich daruf gekommen >_<? post-response ist wirklich der weg - ich habe es sogar in der funktion drin (es nimmt noch den argument "o" (get verwendet den als responseziel) den ich vergessen habe ;P ) danke !
      MFG
      bleicher

      --
      __________________________-

      FirefoxMyth
  2. Hi,

    Problem: die idee war, dass ich die daten vom server mit get hole, im textfeld verarbeite, mit post an den server schicke, und noch mal mit get hole (neue version)

    nur wird beim 2en get der gleiche text geholt.

    Welcher Browser?

    Der IE kann bitchy sein, was das Caching bei AJAX-Requests per GET angeht.
    Wenn sonst nichts weiter dagegen spricht - POST nehmen.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.