Foros del Web » Programando para Internet » Javascript »

Graficas con Morris y Ajax

Estas en el tema de Graficas con Morris y Ajax en el foro de Javascript en Foros del Web. Hola a todos! Estoy intentando hacer una gráfica en JSP con ayuda de la libreria Morris.js pero que sea generada mediante Ajax , soy bastante ...
  #1 (permalink)  
Antiguo 01/02/2013, 10:07
Avatar de kelpielovego0d  
Fecha de Ingreso: febrero-2013
Ubicación: México
Mensajes: 5
Antigüedad: 11 años, 2 meses
Puntos: 0
Pregunta Graficas con Morris y Ajax

Hola a todos!

Estoy intentando hacer una gráfica en JSP con ayuda de la libreria Morris.js pero que sea generada mediante Ajax, soy bastante nueva en Ajax y todo lo que entiendo lo aprendí en la web.. el código que les pondré a continuación corre perfectamente de forma independiente.. pero cuando intento generarlo mediante ajax el div regresa vació..

Muchas gracias a todos de ante mano..

Saludos.!

Función ajax:

Código:
function xmlhttpPostGrafica(strURL) {
	variable1=document.getElementById('grarGrafico').value.trim();
	if(variable1!="nada"){
	var xmlHttpReq = false;
	var self = this;
	if (window.XMLHttpRequest) {
	self.xmlHttpReq = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
	self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	self.xmlHttpReq.open('POST', strURL, true);
	self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	self.xmlHttpReq.onreadystatechange = function() {
	if (self.xmlHttpReq.readyState == 4) {
	updatepagePostGrafica(self.xmlHttpReq.responseText);
	}
	}
	self.xmlHttpReq.send(getquerystringPostGrafica());
	}else{
	document.getElementById("grafica").style.display = "none";
	}
	}

function getquerystringPostGrafica() {
	var form = document.forms['form1'];
	var año = form.catAñoReg.value;
	var aniodep = form.catAñoDep.value;
	qstr = 'anioreg=' + escape(año)
	+ '&aniodep=' +escape(aniodep); 
	return qstr;
	}
	
				
function updatepagePostGrafica(str){
		document.getElementById("grafica").innerHTML = str;
		document.getElementById("grafica").style.display = "block";	
		
	}

JSP donde genero el gráfico:

Código:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

    <%
String anio=request.getParameter("aniodep");
    String anioreg=request.getParameter("anioreg");
String []TotalesEsp=new com.ms.sqlserver.Supervision(request).obtTotSupEspDepend(<%=anio%>, <%=anioreg%>);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<script type="text/javascript" src="graficos/raphael.js"></script>
	<script src="graficos/jquery-1.8.2.min.js" type="text/javascript"></script> 
	<script src="graficos/g.raphael.js" type="text/javascript"></script>
	<script type="text/javascript" src="graficos/g.bar.js"></script>
	<script type="text/javascript" src="graficos/morris.js"></script>    
</head>
    <body >  
    
    <div id="bar-example" style="heigh:200px; width:500px;"></div>
    
	<script>
 		Morris.Bar({
	  	element: 'bar-example',
	  		data: [
			
				{ y: 'Opcion 1', a:<%=TotalesEsp[0]%> },
				{ y: 'Opcion 2', a:<%=TotalesEsp[1]%> },
				{ y: 'Opcion 3', a:<%=TotalesEsp[2]%> },
				{ y: 'Opcion 4', a:<%=TotalesEsp[3]%> },
				{ y: 'Opcion 5',a:<%=TotalesEsp[4]%> },
				{ y: 'Opcion 6', a:<%=TotalesEsp[5]%> }
	    			       
	  		],
	  	xkey: 'y',
	  	ykeys: ['a'],
	  	labels: ['2013'],
	  	barColors:['#0091ff','#5f7dff']
	             
	});

	</script>
	</body>
</html>
el metodo ajax lo mando a llamar con un metodo onchange de un select...
ya probé de forma independiente el código de la gráfica y anda bien... no se que pueda ser...
  #2 (permalink)  
Antiguo 01/02/2013, 12:17
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Graficas con Morris y Ajax

le recuerdo que javascript y java (JSP) son lenguajes diferentes, además de que Javascript se ejecuta del lado del cliente.

lo que si le puedo adelantar es que necesita verificar self.xmlHttpReq.status == 200 junto con self.xmlHttpReq.readyState == 4 para que AJAX funcione adecuadamente, corrija ése punto para descartar y responda si persiste el problema, saludos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 01/02/2013, 12:31
Avatar de kelpielovego0d  
Fecha de Ingreso: febrero-2013
Ubicación: México
Mensajes: 5
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Graficas con Morris y Ajax

Cita:
Iniciado por maycolalvarez Ver Mensaje
le recuerdo que javascript y java (JSP) son lenguajes diferentes, además de que Javascript se ejecuta del lado del cliente.

lo que si le puedo adelantar es que necesita verificar self.xmlHttpReq.status == 200 junto con self.xmlHttpReq.readyState == 4 para que AJAX funcione adecuadamente, corrija ése punto para descartar y responda si persiste el problema, saludos
Esa es una de mis dudas he ocupado codico que regresa con Ajax que ejecuta funciones javascript y funcionan bien...
el estatus si es 200 y si llega al 4.. es como si llegara perfectamente todo solo que el div llega vacio... se muestra el tamaño que le doy

Código HTML:
Ver original
  1. <div id="bar-example" style="heigh:200px; width:500px;"></div>

pero no se ve absolutamente nada.. he intentado con otras librerias.. pero es el mismo resultado el div regresa vacio..

Etiquetas: ajax, jsp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:47.