Json does not return data to Javascript

Asked

Viewed 97 times

2

I have the following code in PHP, but it does not return the data to JAVASCRIPT. Type it does not return any information:

<?php
require_once("conexao.php");

$sql_nao_lidas = @mysql_query("SELECT tituloRealizacao, descricaoRealizacao, nomeFoto FROM realizacoes INNER JOIN galeria ON realizacoes.idRealizacoes = galeria.idObra")or die (mysql_error());
if (mysql_num_rows($sql_nao_lidas) > 1) {
while ($res = mysql_fetch_array($sql_nao_lidas)) {
    $i=0;
    foreach($res as $key => $value) {
        if (is_string($key)) {
            $fields[mysql_field_name($sql_nao_lidas,$i++)] = $value;
        }
    }

    $json_result["realizacoes"] [ ] =  $fields;
}
$JSON = json_encode($json_result);
print_r($JSON);
} else {
echo "Erro. Nada encontrado";
}
?>

JAVASCRIPT

// Classe para chamar o Json.
function json(){
    var qtd;
    var retorno;

    // Resgatar valores.
    json.prototype.resgatarValores = function(){
        $('#resultado').html('Carregando dados...');

        // Estrutura de resultado.
        $.getJSON('mensagemNaoLidas.php', function(data){
            this.qtd = data.realizacoes.length;
            this.retorno = '';

            for (i = 0; i < this.qtd; i++){
                this.retorno += 'Nome: ' + data.realizacoes[i].tituloRealizacao + ' - ';
                this.retorno += 'Descrição: ' + data.realizacoes[i].descricaoRealizacao + '<br /><br />';
                this.retorno += 'Nome da Foto: ' + data.realizacoes[i].nomeFoto + '<br /><br />';
            }

            $('#resultado').html(this.retorno);
        });

    }

}

// Objeto.
var obj = new json();
obj.resgatarValores();

1 answer

1

Your Content-type header should be:

header('Content-Type: application/json');

The header is there so that your app can detect which data has been returned and how it should handle it. In case it would be in application/Json.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.