Galera, tudo bem ? Ficaria muito grato se alguém conseguisse me ajudar. Estou fazendo meu TCC e agora resolvi colocar jQuery e utilizar o AJAX do meu servidor que é feito em JAVA.
Porém, estou tendo um problema. No meu servidor, eu consigo retornar o array de objetos JSON, mas quando eu tento acessar o valor dele, quando eu dou um console.log, ele retorna undefined.
Vou colocar as classes abaixo para terem uma idéia.
ControleUsuario.java
public void consultarUsuarioAJAX(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException, ClassNotFoundException, SQLException {
UsuarioDAO daoUsuario = new UsuarioDAO();
List<Usuario> listaUsuarios = daoUsuario.consultarTodosUsuarios();
Gson gson = new GsonBuilder()
.addSerializationExclusionStrategy(new Endereco.ExclusaoUsuarioDoEndereco())
.create();
String listaUsuarioJSON = gson.toJson(listaUsuarios);
resp.getWriter().println(listaUsuarioJSON);
System.out.println(listaUsuarioJSON);
}
usuario.js - Arquivo JavaScript
$(function(){
consultarUsuarioAJAX();
});
function consultarUsuarioAJAX(){
$.get("http://localhost:8084/PCMAKER/consultarUsuarioAJAX",exibeUsuarios)
.fail(function(){
console.log("Erro");
});
}
function exibeUsuarios(data){
var corpoTabela = $(".tabela-usuario").find("tbody");
var objJSON = {
dadosUsuario: data
};
console.log(objJSON.dadosUsuario.idUsuario);
$.each(objJSON,function(){
var tr = $("<tr>");
var colunaIdUsuario = $("<td>").text(this.idUsuario);
var colunaNomeUsuario = $("<td>").text(this.nomeCompleto);
var colunaLogin = $("<td>").text(this.login);
var colunaEmail = $("<td>").text(this.email);
var colunaCpf = $("<td>").text(this.cpf);
var colunaRg = $("<td>").text(this.rg);
var colunaDeletar = $("<td>");
var colunaAlterar = $("<td>").text("Alterar");
var linkExcluir = $("<a>").attr("href","deletarUsuario?id="+this.id).text("Excluir");
var linkAlterar = $("<a>").attr("href","alterarUsuario?id="+this.id).text("Alterar");
//Colocando links de Excluir e Alterar dentro do TD
colunaDeletar.append(linkExcluir);
colunaAlterar.append(linkAlterar);
//Colocando os TD's na TR's
tr.append(colunaIdUsuario);
tr.append(colunaNomeUsuario);
tr.append(colunaLogin);
tr.append(colunaEmail);
tr.append(colunaCpf);
tr.append(colunaRg);
corpoTabela.append(tr);
});
}
Eu ainda estou pegando somente os valores dentro de um único objeto. Depois terei que pegar os valores dentro outro array de objetos, dentro desse JSON gerado com os valores de usuário. Se alguém puder me dar uma ajuda, eu ficaria grato :D