2011-08-16 51 views
0

我有以下的PHP:PHP陣列 - jQuery的引用問題

1) echo json_encode(array('message' => 'Invalid Login Details: '.$user)); 

我也有以下幾點:

2) $row = mysql_fetch_assoc($result); 
    echo(json_encode($row)); 

現在考慮下面的jQuery:

$.ajax({ 
      type: "POST", 
      url: "get_login.php", 
      data: {username: getusername, password:getpassword, usertype:getusertype}, 
      dataType: "json", 
      success: function(data) { 
       $("#message_ajax").html("<div class='successMessage'>" + data.message +"</div>"); 
      } 
     }) 

這成功(1)但不是(2)。這顯然是因爲jQuery期望包含消息變量的php響應。 (2)不符合這個......我不;知道如何使這項工作,因爲我使用了創建數組不同的方法......

我怎樣才能讓在php $行與兼容data.message在jQuery中?

+1

'$ row'包含什麼? – Dogbert

+1

'回波json_encode(陣列(「消息」 =>「無效登錄詳細信息:」 $用戶));'是錯誤的,鄰近'$ user'因爲它將顯示一個PHP致命錯誤 – Val

+0

@Dogbert - $行包含從一元組的關係(即用戶的詳細信息 - FNAME,LNAME,電子郵件......) – user559142

回答

2

嘗試:

$data = array(); 
$data["message"] = "Valid request"; 
$data["row"] = mysql_fetch_assoc($result); 
    echo(json_encode($data)); 

消息=行:

$data = array(); 
$data["message"] = mysql_fetch_assoc($result); 
    echo(json_encode($data)); 

或兩個線路溶液(VAL啓發):

$row = mysql_fetch_assoc($result); 
    echo(json_encode(array("message" => $row))); 
+0

其實你是對的:) +1 – Val

+0

我想消息等於$行..... – user559142

+0

很大,所以這個工程......但它顯示[對象對象] - >我如何讓它顯示實際的字符串值? – user559142

1

嘗試

$row = mysql_fetch_assoc($result); 
    echo(json_encode(array('message'=>'I am the message','result'=>$row)); 

然後回答你的意見的東西相似,這可能顯示信息的第二個問題....

$.ajax({ 
      type: "POST", 
      url: "get_login.php", 
      data: {username: getusername, password:getpassword, usertype:getusertype}, 
      dataType: "json", 
      success: function(data) { 
       $("#message_ajax").html("<div class='successMessage'>" + data.message +"</div>"); 
       var html = ''; 
       for(var i = 0; i<data.result.length;i++){ 
       html +='<div>'+data.result[i].fname+'</div>'; 
       } 
       $('#result').html(html); 
      } 
     }) 

ofcourse你需要編輯升技適用。

0

我相信你沒有$row['message']mysql_fetch_assoc。 您必須在json_encode之前明確定義陣列上的message密鑰。

 

    $row = mysql_fetch_assoc($result); 
    $row['message'] = 'Hello '.$row['username']; 
    echo(json_encode($row));