2013-12-19 5 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>"; 
    } 

} 
} 

Когда он входит в функцию яваскрипта успеха он показывает следующую дату: [{ "CNPJ": "07677711000144",» ValorMin ":" 120" , "ValorMax": "500", "PossuiReserva": "1", "Descrição": нулевой, "foto_profile": "", "Премиум": "0", "Wi-Fi": "0 "," Id_evento_nao_premium ":" 0 "}]

Но я не знал, как это работает с этой информацией в javascript. Я попытался

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

, но ничего не помогло, помочь ..

+0

Вы пробовали 'данных [0] [ "CNPJ"]'? – Matt

+0

попробуйте $ _POST ["id"]; как $ _REQUEST ["id"]; и добавьте «exit» после echo json_encode ($ response); и по мере того, как вы получаете несколько строк, вам нужно получить данные в виде массива в функции успеха. Среднее использование цикла for –

ответ

1

Вы должны убедиться, что он возвращает объект JSON, вместо строки (по умолчанию). Вы можете сделать это, добавив переменную dataType. Затем возвращаемые данные является объектом ..

function Perfil(){ 

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

редактировать: Вы также можете обсчитывать это:

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

, возвращенного в неопределенном предупреждении –

+0

исправленный ответ, извините, проверен на jsFiddle, а также для обеспечения правильной обработки JSON: http://jsfiddle.net/WpnDs/ – skrilled

+0

Так что я уже пробовал это, но я думаю, что это произошло как строка –

Смежные вопросы