1
resposta

Spring MVC: Função JavaScript é chamada mas não ocorre atualização da lista no browser. Código disponibilizado no GitHub.

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 head

Lista Contas

CodigoDescricaoValorTipoPaga?Data de PagamentoAçõ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 -->
1 resposta
O post foi fechado por inatividade. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!