Array
(
)

CURSO BASICO PHP - AULA 39

PHP
Fabio Souza
   - 20 mar 2015

Aula 39 -
Mensagem de erro: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
http://localhost:8080/cursophp/javascript/js/jquery-1.11.2.min.js
Line 4
O que percebi é que não está convertendo o array em um objeto json, conforme demonstrado na aula. Segue abaixo exatamente a string gerada .
?[{"id":"7","nome":"Enterprise"},{"id":"34","nome":"Fabio"},{"id":"33","nome":"Financeiro"},{"id":"1","nome":"Odim Administrador"},{"id":"6","nome":"Professional"},{"id":"5","nome":"Standard"},{"id":"22","nome":"suporte"}]

Marcio Araujo
   - 20 mar 2015

Boa tarde, nesse curso utilizam o JSON?

Pode postar o código onde aparece esse problema?

Thiago Santana
   - 20 mar 2015

?[{"id":"7","nome":"Enterprise"},{"id":"34","nome":"Fabio"},{"id":"33","nome":"Financeiro"},{"id":"1","nome":"Odim Administrador"},{"id":"6","nome":"Professional"},{"id":"5","nome":"Standard"},{"id":"22","nome":"suporte"}]

Esse caracter de interrogação no início está chegando junto com o JSON?

Karine Sobral
   - 22 mar 2015

Boa noite, sou nova aqui no forum, esse curso de PHP, me indicam, ele é básico?

Marcio Araujo
   - 22 mar 2015

Totalmente básico Karine, todas as informações necessárias para seguir em frente sem maiores dificuldades. desde a configuração do ambiente até fazer um projeto no final. Otimo curso.

Karine Sobral
   - 22 mar 2015

Obrigada Marcio, verei essa semana se vou fazer.

Thiago Santana
   - 23 mar 2015

Fabio, conseguiu resolver seu problema?

Marcio Araujo
   - 23 mar 2015


Citação:
Fabio, conseguiu resolver seu problema?


Espero que sim, mas vamos aguardar, queria que ele mostrasse o código completo.

Fabio Souza
   - 24 mar 2015

Sim, é o json.

Fabio Souza
   - 24 mar 2015

segue o código que estou usando, são 2 funções e o html

function usuario_listar($conexao){
$sql = "SELECT Id, Nome, Login FROM Usuarios ORDER BY Nome";
$resultado = mysqli_query($conexao, $sql);

return $resultado;
}

function listarDados(){

$db_host = "localhost";
$db_user = "root";
$db_pass = "fns9068";
$db_name = "odim";

$conexao = @mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if(mysqli_connect_errno($conexao)) {
echo "A conexão falhou, erro reportado: ".mysqli_connect_error();
exit();
}
require("../app/usuario/model_usuario.php");
$resultado = usuario_listar($conexao);
$data = array();

while ($row = mysqli_fetch_array($resultado)){
$data[] = array("id" => $row['Id'], "nome" => utf8_encode( $row['Nome']) );
}
echo json_encode($data);

}

<html>
<head>
<title>Listar Dados</title>
<script src="js/jquery-1.11.2.min.js"></script>
<script>
$(function(){
$("#lnkCarregarDados").click(function(e){
$("#exibe_cont").html("carregando...");
e.preventDefault();

setTimeout(function(){
$.ajax({
type: "GET",
url: "servico.php?p=listarDados",
dataType: 'json',
success: function(data){
var usuarios = "";
$.each(data, function(key, val){
usuarios += " Id: "+val.id+" Nome: "+val.nome;
});

$("#exibe_cont").html(usuarios);
}
});
}, 2000);
});
});
</script>
</head>
<body>
<h1>Usuários cadastrados</h1>

<a href="#" id="lnkCarregarDados">Carregar dados dos usuários</a>

<div id="exibe_cont">

</div>

</body>
</html>

Fabio Souza
   - 24 mar 2015

não aparece não, erro na hora de copiar colar

Fabio Souza
   - 24 mar 2015


Citação:

Citação:
Fabio, conseguiu resolver seu problema?


Espero que sim, mas vamos aguardar, queria que ele mostrasse o código completo.


não consegui, postei o código completo

Marcio Araujo
   - 24 mar 2015

Vou tentar vê-lo, pode postar o link do curso ou do video em questão?

Fabio Souza
   - 25 mar 2015


Citação:
http://www.devmedia.com.br/json-com-php-e-requisicoes-ajax-curso-de-php-basico-aula-39/30360


Note que na vídeo aula, é mencionado que o retorno seria um conjunto de objetos para o jscript, porém não é isso que está acontecendo

Marcio Araujo
   - 25 mar 2015

Bom dia, você já reveu essas video aulas? já entrou em contato com o autor na video aula que está com o problema?

Eu tenho esses fontes mas acho que está um pouco adiantada.