Os comento mi problema, estoy intentando hacer un ejemplo sencillo, para comprobar que funcione y luego hacer la aplicación que necesito. Se trata solamente de una página index.jsp en la cual solamente hay dos botones. Adjunto al index un fichero javascript en el cual se describe el funcionamiento de dichos botones respecto del evento "click". Ambos realizan una petición Ajax del fichero informacion.jsp la única diferencia es que uno envía una variable con un valor y el otro con otro distinto.
Mi idea es la siguiente: Quiero que al pulsar un botón se lleve a cabo la petición Ajax, y que ésta se quede esperando hasta que se pulse el otro botón. De ahí que en el fichero informacion.jsp haya un bucle infinito hasta que el nombre del parámetro capturado no cambie.
El problema está en que: 1º Yo pulso el botón 1 y se lleva a cabo la espera en el bucle infinito, luego pulso el botón 2 y no se termina la anterior petición.
No se si me habré explicado bien, a continuación os pongo el código de los tres archivos:
index.jsp
Código:
pruebascript.js<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <script type="text/javascript" src="js/mootools-core.js"></script> <script type="text/javascript" src="js/mootools-more.js"></script> <script type="text/javascript" src="pruebascript.js"></script> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <input type="button" id="boton1" value="Boton 1"/> <input type="button" id="boton2" value="Boton 2"/> <br><br><br> <div id="info"></div> </body> </html>
Código:
window.addEvent('domready',function(){ var estado = 1; $('boton1').addEvent('click',function(){ var consulta = new Request({ url: "http://localhost:8084/PruebasPong/informacion.jsp", data: "estado="+estado, onSuccess: function(respuesta){ $('info').set('html',respuesta); } }); consulta.send(); }); $('boton2').addEvent('click',function(){ estado = 0; new Request({ url: "http://localhost:8084/PruebasPong/informacion.jsp", data: "estado="+estado, onSuccess: function(respuesta){ //$('info').set('html',respuesta); } }).send(); }); });
informacion.jsp
Código:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@taglib uri="http://java.sun.com/jstl/sql" prefix="sql" %> <%@page import="java.io.*,java.util.*,java.net.*,java.sql.*" %> <%@page contentType="text/html" pageEncoding="UTF-8" session="true"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% String cont = request.getParameter("estado"); int c = Integer.parseInt(cont); do{ }while(c==1); %> <h3>Alguien ha pulsado el boton 2</h3>
Muchas gracias de antemano!!!!!