2009-07-06 12 views
1

私の問題はfolowingです: 私はpostvalueを取得しようとしていますが、私はPHPコードにその文を入れるたびに、ajaxcallは失敗します。ajaxcallで投稿値を受け取ることができません

私はここで何が欠けているのか分かりませんか?ひどく

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

$.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. 
    } 
} 

おかげで、リチャード

答えて

0

EDIT:あなたは、サーバーに渡しているものでも、私は明確にするため、要求の種類を指定することになり、括弧に包まれるべき形成されたjsonは$ .ajaxで動作しません。 JSONを生成するために、サーバー上json_encodeを使用してみてください:

//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(); 
    ?> 

また、代わりに$アヤックスの$.getJSONを使用することが明確であるかもしれません。

+0

また、最後のエコーの前に他のものがクライアントに出力されていないことを確認したい場合もあります。 – karim79

+0

しかし、私はこれらの2つのテスト値以外の何も出力していません。私はそれが働いていないpostvalueを求める時です。 – Richard

+0

素晴らしい、ありがとう。あなたの最後の編集がトリックでした。私はそれを働かせる人のどちらかまたは両方でした。 – Richard

関連する問題