CURSO BASICO PHP - AULA 39
20/03/2015
0
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"}]
Fabio Souza
Posts
20/03/2015
Marcio Araujo
Pode postar o código onde aparece esse problema?
20/03/2015
Thiago Santana
Esse caracter de interrogação no início está chegando junto com o JSON?
22/03/2015
Karine Sobral
22/03/2015
Marcio Araujo
23/03/2015
Marcio Araujo
Espero que sim, mas vamos aguardar, queria que ele mostrasse o código completo.
24/03/2015
Fabio Souza
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>
24/03/2015
Fabio Souza
Espero que sim, mas vamos aguardar, queria que ele mostrasse o código completo.
não consegui, postei o código completo
24/03/2015
Marcio Araujo
25/03/2015
Fabio Souza
25/03/2015
Fabio Souza
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
25/03/2015
Marcio Araujo
Eu tenho esses fontes mas acho que está um pouco adiantada.
Clique aqui para fazer login e interagir na Comunidade :)