2009-07-06 6 views
1

Mon problème est le suivant: J'essaye de récupérer la valeur de post, mais chaque fois que je mets cette déclaration dans le code de php l'ajaxcall échouera.ne peut pas obtenir des valeurs de poste envoyer avec ajaxcall

Je ne vois pas ce qui me manque ici ??

$.ajax({ 
      url: "includes/livetabs.php?actie=sessiegebruikersnaam", 
      data: {gebruikersnaam: tbgebruikersnaam}, 
      cache: false, 
      dataType: "json", 
      success: function(data) { 
      //opslaan van gebruikersnaam in php sessie 
     /*$.post("includes/livetabs.php", {"sessiegebruikersnaam": chatnaam}, 
       function(data){*/ 
        //doe nog iets 
       aa= data.status; 
       bb=data.naam; 
      //krijg de instellingen terug 
      alert(aa); 
      alert(bb); 
     }}); 

//php section 
if(isset($_GET['actie'])){ 
**$n=$_POST['gebruikersnaam'];** 
    if ($_GET['actie']=="sessiegebruikersnaam"){ 
    if (!isset($_SESSION['username'])){ 
    $_SESSION['username'] = $n ;} 
    header('Content-type: application/json'); 
    //geef ook meteen de secondary instellingen terug 

    ?> 

{ 
     "status": "somevalue", 
     "naam": "anothervalue" 
} 
    <?php 
    exit(0); // Stop het script. 
    } 
} 

merci, Richard

Répondre

0

EDIT: Les trucs que vous passez sur le serveur doit être enveloppé entre parenthèses, aussi, je préciser le type de demande de clarté:

data: ({gebruikersnaam : tbgebruikersnaam}), 
type: "POST", //just in case 

Badly formé json ne fonctionnera pas avec $ .ajax. Essayez d'utiliser json_encode sur le serveur pour générer le JSON:

//php section 
if(isset($_GET['actie'])){ 
**$n=$_POST['gebruikersnaam'];** 
    if ($_GET['actie']=="sessiegebruikersnaam"){ 
    if (!isset($_SESSION['username'])){ 
    $_SESSION['username'] = $n ;} 
    header('Content-type: application/json'); 
    //geef ook meteen de secondary instellingen terug 
    echo json_encode(array('status' => 'someValue', 'naam' => 'anotherValue')); 
    exit(); 
    ?> 

En outre, il est peut-être plus clair d'utiliser $.getJSON au lieu de $ .ajax.

+0

Vous devez également vous assurer que rien d'autre n'est envoyé au client avant cet écho final. – karim79

+0

mais je ne produis pas autre chose que ces deux valeurs de test et ils fonctionnent. C'est juste quand je demande la postvalue que ça ne marche pas. – Richard

+0

super, merci. Votre dernière édition a fait l'affaire. J'étais l'un ou l'autre de ceux qui l'ont fait fonctionner. – Richard

Questions connexes