如何从php发送数组到javascript

时间:2013-12-19 23:02:28

标签: javascript php mysql ajax arrays

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文件:

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"];

但没有任何帮助,帮助..

1 个答案:

答案 0 :(得分: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); });