Estou usando o jquery para efetuar uma requisição ajax conforme a video-aula-07 do curso de Spring MVC, mas embora o javascript seja chamado inclusive exibindo os alertas, a alteração de "Não paga" para "Paga" não ocorre ou seja não há atualização na pagina, porém quando uso " sem Ajax" funciona! Eu disponibilizei o código no GitHub para ajudar a resolver o problema além disso eu gerei imagens na pasta LEIA-ME na tentativa de guiar numa possível solução. Desde já agradeço!
Código no github: https://github.com/Marquedante/ContasRepository.git
pagina: lista.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
script src="resources/js/jquery.js" script script type="text/javascript" function deuCerto(dadosDaResposta){ alert("Conta paga com sucesso!!!"); } function pagaAgora(id){ alert("1"); $.get("pagaConta?id="+id, deuCerto); alert("2"); } script headLista Contas
Codigo | Descricao | Valor | Tipo | Paga? | Data de Pagamento | Ações |
---|
<c:forEach items="${todasContas}" var="cnt">
<tr>
<td>${cnt.id}</td> <!-- cnt.getId() -->
<td>${cnt.descricao}</td>
<td>${cnt.valor}</td> <!-- cnt.getValor() -->
<td>${cnt.tipo}</td>
<td>
<c:if test="${cnt.paga eq false}">Não paga!</c:if>
<c:if test="${cnt.paga eq true}">Paga!</c:if>
</td>
<td><fmt:formatDate value="${cnt.dataPagamento.time}" pattern="dd/MM/yyyy"/></td>
<td>
<a href="removeConta?id=${cnt.id}">Deletar</a>
<a href="exibeConta?id=${cnt.id}">Exibir</a>
<a href="alteraConta?id=${cnt.id}">Alterar</a> |
<a href="pagaConta?id=${cnt.id}">Pagar sem Ajax</a> |
<a href="#" onclick="pagaAgora(${cnt.id});" >Pagar com Ajax</a>
</td>
</tr>
</c:forEach>
<!-- fmt:formatDate trabalha apenas com Date por isso o time -->