entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Cargar contenido con JQUERY y JSP

Buenas tardes compañeros, estoy intentando realizar un carga de contenido en un div con jsp a través de una función jquery, no se cual es el problema, simplemente no carga el contenido y no se donde puede fallar o si el código es el correcto:

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="css/estilos.css" />
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="js/JQUERY.js"></script>
        <title>SISTEMASFS</title>
        <%
            ConsultasMenu CM = new ConsultasMenu();
            ResultSet rs, rs2;
        %>
        <script type="text/javascript">  
             $(document).ready(function(){
                $("#compras").click(function(){
                  var contenido = $("#contenido").val();
                  $.ajax({ //Comunicación jQuery hacia JSP
                    type: "POST",
                    url: "ComprasRealizadas.jsp",
                    data: "contenido="+contenido,
                    success: function(data){
                        ('#contenido').html(data);
                    }
                 });                                            
              });
           });
        </script> 
    </head>
    <body>
        <header id="nav">
            <%
                rs = CM.Logotipo();
                while (rs.next()){
                    %>
                        <img src="<%=rs.getString("rutaImagen")%>" id="logo" />
                    <%
                }
            %>
        </header>
        <nav>
            <menu>
                <%
                    rs = CM.MenuPrincipal();
                    while (rs.next()) {
                        String RPrincipal = rs.getString("rutaArchivo");
                        String TPrincipal = rs.getString("title");
                        String IdPrincipal = rs.getString("id");
                        String NPrincipal = rs.getString("nombre");
                        if (!NPrincipal.equals("Tienda")){
                        %>
                        <li><a href="<%=RPrincipal%>" id="aboutme" style="cursor:pointer;" title="<%=TPrincipal%>"><%=NPrincipal%></a></li>
                        <%
                        } else {
                            %>
                            <li><a href="<%=RPrincipal%>" id="aboutme" style="cursor:pointer;" title="<%=TPrincipal%>"><%=NPrincipal%></a>
                                <ul class="ulmenu">
                                <%
                                    rs2 = CM.SubMenu();
                                    while (rs2.next()){
                                        String ruta = rs2.getString("rutaArchivo");
                                        String title = rs2.getString("title");
                                        String id = rs2.getString("id");
                                        String nombre = rs2.getString("nombre");
                                        %>
                                        <li><a href="<%=ruta%>" id="llaveros" style="cursor:pointer;" title="<%=title%>"><%=nombre%></a></li>
                                        <%
                                    }
                                %>
                                </ul>
                            </li>
                            <%
                        }
                    }
                    %>
            </menu>
            <a href="CarritoCompra.jsp" title="ver carrito de compras"><img id="logoCarrito" src="imagenes/carrito.png" alt="carritocompra"/></a>
        </nav>
        <div>
            <a href="#" id="perfil"><input name="Perfil" type="button" value="PERFIL" /></a>
            <a href="#" id="compras"><input name="Compras Realizas" type="button" value="COMPRAS REALIZADAS" /></a>
            <table border="0">
                <tr>
                    <td>
                        <span>
                            <%
                                if(request.getParameter("error") != null){
                                    out.print(request.getParameter("error"));
                                }else{
                                    out.print("");
                                }
                            %>
                        </span>
                    </td>
                </tr>
            </table>
            <%
                for (int i = 0; i<Validacion.acceso.size(); i++){
                    %>
                    <span>Nombre usuario: <%=Validacion.acceso.get(i).getUsuario()%> </span><br />
                    <span>Clave del usuario: <%=Validacion.acceso.get(i).getClave()%></span>
                    <%
                }
            %>
            <br /><br />
            <p id="linea"></p>
            <span>Aqui debería ir la información relativa a los datos del usuario logueado y sus compras realizadas</span>            
            <br/><br/>
            <div id="contenido">
            </div>
            <a href="CerrarSesion">Cerrar Sesion</a>
        </div>
    </body>
</html>

En la página que hay en la carga jquery solo hay esto:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>

¿Que se os ocurre?

1voto

carlossevi comentado

Intenta hacer algunas comprobaciones para centrar el tiro:

¿Se ve algo en la consola de Javascript del navegador?
¿Se llega a hacer la petición POST? Puedes verlo en el navegador (opción de desarrollador), haciendo que se registre la llamada en el servidor o incluso revisando los logs.
¿El servidor devuelve datos a la llamada POST a ComprasRealizadas.jsp?

0voto

Yesod comentado

Me pone lo siguiente:
ReferenceError: $ is not defined
<anónimo>
JQUERY.js:17
JQUERY.js:17:1
ReferenceError: $ is not defined
<anónimo>
menu.jsp:20
menu.jsp:20:14

Es justamente la primera línea del código...donde viene $(document).ready(function()

1 Respuesta

1voto

carlossevi Puntos63580

Haciendo una pequeña búsqueda puedes encontrar que es un problema con el uso y referencia de jQuery.

Lo más probable es que la biblioteca no esté correctamente referenciada. En el código que nos has copiado la única referencia a un archivo JS externo que podemos ver es al archivo js/JQUERY.js, pero no podemos acceder el contenido ¿qué es?. En caso de que tras esa llamada esté la biblioteca, hay que pensar en otros errores. El siguiente más probable es que la biblioteca referenciada tenga sobre escrita la variable $ y jQuery se use con otro nombre.

Revisa el contenido de js/JQUERY.js y asegurate de que la biblioteca funciona.

0voto

Yesod comentado

Efectivamente, ese era el problema, se me había olvidado cargar la librería (la ruta no estaba bien puesta) un fallo tonto xDDD

Gracias :)

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta