2013-12-19 41 views
-1
function Perfil(){ 

    var metodo = "Perfil"; 
    $.ajax({ 
     url: url_header, 
     type: 'POST', 
     data: {Metodo:metodo, id:idUser}, 
     success: function(data) { 
      alert(data); 
     }, 
     error: function(data){ 
      alert(data); 
     } 
    }); 
} 

PHP文件:如何從PHP發送一個數組的JavaScript

public function Perfil(){ 
    try { 
    $id = $_POST["id"]; 
    $result=mysql_query("SELECT tipo FROM pessoa WHERE id=".$id." "); 
    $row = mysql_fetch_assoc($result); 
    if($row['tipo']=="PJ"){ 
     $result=mysql_query("SELECT CNPJ, ValorMin, ValorMax, PossuiReserva, Descricao, foto_profile, Premium, Wifi, Id_evento_nao_premium FROM PJ WHERE ID_Pessoa= ".$id." "); 
    $response = array(); 
    while($row = mysql_fetch_assoc($result)){ 
     $response[] = $row; 
      } 
     echo json_encode($response); 
    }    
    catch (Exception $e) { 
     echo 'O sistema retornou um erro: <br>'; 
    echo '<font color="#F00">'.$e->getMessage()."</font>"; 
    } 

} 
} 

當他進入的JavaScript成功的功能它顯示在以下日期: [{ 「CNPJ」: 「07677711000144」,」 ValorMin 「:」 120" , 「ValorMax」: 「500」, 「PossuiReserva」: 「1」, 「Descricao」:NULL, 「foto_profile」: 「」, 「高級」: 「0」, 「WiFi」 的:「0 「,」Id_evento_nao_premium「:」0「}]

但我不知道它如何與JavaScript中的這些信息一起工作。 我試過

data[0]; data["CNPJ"]; 

但沒有任何幫助,幫助..

+0

您是否嘗試過'數據[0] [ 「CNPJ」]'? – Matt

+0

嘗試$ _POST [「id」];作爲$ _REQUEST [「id」];並在echo json_encode($ response)之後添加'exit';並且當你獲得許多行時,你需要在成功函數中將數據作爲數組獲取。意思是用一個for循環 –

回答

1

你需要確保它返回一個JSON對象,而不是字符串(默認)。你可以通過添加dataType變量來實現。然後,返回的數據是一個對象..

​​

編輯:您也可以簡寫本:

$.getJSON(url_header, {Metodo:metodo, id:idUser}, function(data) { alert(data[0].CNPJ); }); 
+0

返回undefined警報 –

+0

固定答案,對不起,在jsFiddle上測試以確保JSON處理正確:http://jsfiddle.net/WpnDs/ – skrilled

+0

所以已經試過了,但是我覺得這個來了作爲字符串 –

相關問題