AJAX/PHP: gesendeter wert wird falsch interpretiert

Moin!

Ich habe ein kleines Problem und bin nicht in der Lage es selber zu lösen.
Ich spiele gerade mit AJAX herum, also nehmt mir den schlechten Stil bitte nicht übel.

Folgende Struktur:

Aktion bei Client löst ajax request durch jquery aus:

JS:

Code:
 $(document).ready(function(){
   $("#ein").click(function(){
   	$("#grundl p").load("selectboxen.php", { value: "1" } );
      $("#grundl p").load("selectboxen.php");
      $("#grundl P").show("fast");
   });
   $("#aus").click(function(){
      $("#grundl P").hide("fast");
   });
 });

HTML:

Code:
   <h2 id="grundlegendes">Grundlegendes</h2>
   <p><span id="ein">Einblenden</span> | <span id="aus">Ausblenden</span></p>
   <div id="grundl">
  	 <p> dummy </p>
   </div>

Jquery schickt nun eine POST Anfrage aus (value 1 - laut firebug).
Mein PHP Backende selectboxen.php sieht folgendermaßen aus:

PHP:
<?php
require_once "yml.php";

$Configs = getConfigurations();

$grundlagen = '<p><label>Titel des Projektes:</label><input type="text" value="'.$Configs['rstitle'].'/></p>';

header("Cache-Control: no-cache");
//IE Bug-fix
if($_POST["value"]==1){
	echo $grundlagen;
} else {
	echo "Sorry! I was not able to proceed your request, please try again later.";
}
?>

Diese Struktur hat ebend so ähnlich funktioniert.
(Vorhin hatte er aber ebenfalls öfters mal else genommen und falsch geantwortet)

Die Datei yml.php liest eine in YAML geschriebene config-file mit spyc aus, und gibt sie korrekt wieder. Die funktion getConfigurations() befindet sich logischer weise in der genannten Datei.

Lustigerweise bekomme ich IMMER folgenden inhalt generiert:

Grundlegendes

Einblenden | Ausblenden

Sorry! I was not able to proceed your request, please try again later.


Ich hoffe irgendwer kann sich das erklären :)
(und ich hoffe der fehler springt einem nicht förmlich ins gesicht xP)
 
Nun, du rufst in der Methode $("#ein").click() zuerst auf:
Code:
$("#grundl p").load("selectboxen.php", { value: "1" } );
und anschließend noch
Code:
$("#grundl p").load("selectboxen.php");
Ist klar, dass dann der zweite Ajax-Request das Ergebnis des ersten überschreibt (und da diesem der value-Parameter fehlt, kriegst du eben die Fehlermeldung)

mfg, metax.
 
Arrrrr

Danke vielmals :)

Ist mir gar nicht aufgefallen ^^.
War ja wieder klar ?

Jetzt komm ich mir vieleicht doof vor.
 
Zurück
Oben