2009-07-06 21 views
1

我的問題是如下: 我想檢索postvalue,但每當我把這個語句在PHP代碼中的ajaxcall將失敗。無法獲得帖子值與ajaxcall發送

我看不到我在這裏失蹤?

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

編輯:要傳遞到服務器的東西應該被包裹在括號,另外,我將指定的請求清晰度類型:

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

嚴重形成的json不會與$ .ajax一起使用。嘗試使用json_encode在服務器上生成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(); 
    ?> 

而且,它可能是更清晰的使用$.getJSON而不是$阿賈克斯。

+0

您還希望確保在最終回聲之前沒有其他任何內容輸出到客戶端。 – karim79 2009-07-06 12:51:30