我无法在jQuery中获得数组PHP编码

时间:2015-07-06 01:31:02

标签: javascript php jquery json

我无法在json数组中找到索引。 浏览器显示未定义的数据。 我发布了以下代码序列。

我用PHP编码的数组。

[{"voo_Cod":"1","voo_CidadeOrigem":"1","voo_CidadeDestino":"2","voo_Data":"2015-07-13 07:00:00","voo_Preco":"200"}]

我在jquery中的代码

$("#form").on("submit", function(event) {
    event.preventDefault();

//receive data json php
    $.ajax({
        url: "dadosJSON.php",
        // dataType: "json",
        type: "post",
        data: $(this).serialize(),
        success: function(d) {
            alert(d);

            if(d[0].erro) {
                $("h2").html(d[0].erro);
            } else {
                var html = "";
                // var html = alert(d);

               //show result in html
                for($i = 0; $i < d.length; $i++) {
                    html += " <strong>Voo Data e Horario</strong> " +     d[$i].voo_Data;
                    html += " <strong>Preco</strong> " + d[$i].voo_Preco;
                }
            }

            $("body").html(html); 
        });
    });
});

我的JASON php。

 <?php
require_once("./authSession.php");
require_once("./conf/confBD.php");
include_once("../html/cabecalho_main_Pessoal.html");

print_r($_POST);\\print array

\\array try catch
try{

    //conection PDO
    $conexao = conn_mysql();
    }catch(PDOException $excep){
    echo "Erro!: " . $excep->getMessage() . "\n";
    die();
    }

    if(!empty($_POST['cidadeOrigem'])){
    $cidOrigem   =  utf8_encode(htmlspecialchars($_POST['cidadeOrigem']));
    $CidDestino  =  utf8_encode(htmlspecialchars($_POST['cidadeDestino']));

   }else{ echo "Não contém arquivos";}

    $SQLSelect = 'SELECT * FROM voos WHERE voo_CidadeOrigem=? AND    voo_CidadeDestino= ?';

    $operacao   =  $conexao -> prepare($SQLSelect);

    $pesquisar  =  $operacao -> execute(array($cidOrigem, $CidDestino));

    $resultados = $operacao->fetchAll(PDO::FETCH_ASSOC);        
    $conexao = null;    

    \\show result
    foreach($resultados as $key=>$result) {
    echo "<pre>"; var_dump($result); echo "</pre>";
    }

    \\get array, send json result
    $dados_result = json_encode($resultados);
    echo $dados_result;

?>

`在浏览器响应中创建一个未定义的循环。

  

Voo Data e Horario undefined Preco undefined.   \错误结果

抱歉英语不好。

2 个答案:

答案 0 :(得分:0)

取消注释此行

 // dataType: "json",

答案 1 :(得分:0)

使用json_encode php函数对php数组进行编码,然后打印数组。如果不对数组进行编码,则无法使用js处理数组。

    $arr = json_encode($array);
    print_r($arr);