Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2009, 01:09
axel_ito
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años, 7 meses
Puntos: 0
Script AJAX funciona en Windows pero no funciona en Linux

Buenos días, tengo un problema, tengo un script ajax que trabaja perfectamente en windows, el cuel me actualiza un html cuando llega un registro nuevo a una BD, el problema es que necesito que lo haga en linux pero no lo hace, en windows lo utilizo con el firefox, en linux(Kubunto 8.04) también lo utilizo con firefox pero no funciona no me actualiza como en windows, ya verifique mis usuarios de la BD y crea la BD y su respectiva tabla, por lo que yo supongo es el script que tengo el que por alguna razón no funciona en linux, a continuación lo pongo para ver si alguién me podria ayudar. Gracias

Código:
var sendReq = getXmlHttpRequestObject();
			var receiveReq = getXmlHttpRequestObject();
			var sendDat = getXmlHttpRequestObject();
			var lastMessage = 0;
			var mTimer;
			//Función para inicializar la página.
			function startSOC() {
				//Iniciar recibiendo Logs.
				getLogs();
			}		
			//Obtener los objetos XmlHttpRequest especificos del navegador.
			function getXmlHttpRequestObject() {
				if (window.XMLHttpRequest) {
					return new XMLHttpRequest();
				} else if(window.ActiveXObject) {
					return new ActiveXObject("Microsoft.XMLHTTP");
				} else {
					document.getElementById('estado').innerHTML = 'No se puede crear el objeto XmlHttpRequest.';
				}
			}
			
			//Obtener los mensajes desde el servidor Syslog-ng
			function getLogs() {
					receiveReq.open("GET", 'Logs.php?logs=1&last=' + lastMessage, true);
					receiveReq.onreadystatechange = ReceiveLogs; 
					receiveReq.send(null);
			}
		
			//Funcion para obtener los mensajes de logs.
			function ReceiveLogs() {
					var logs_div = document.getElementById('div_logs');
					var xmldoc = receiveReq.responseXML;
					var message_nodes = xmldoc.getElementsByTagName("message"); 
					var n_messages = message_nodes.length
					for (i = 0; i < n_messages; i++) {
						var seq_node = message_nodes[i].getElementsByTagName("seq");
						var host_node = message_nodes[i].getElementsByTagName("host");
						var priority_node = message_nodes[i].getElementsByTagName("priority");
						var date_node = message_nodes[i].getElementsByTagName("date");
						var time_node = message_nodes[i].getElementsByTagName("time");
						var id_node = message_nodes[i].getElementsByTagName("id");			
						var src_node = message_nodes[i].getElementsByTagName("src");				
						var interface_node = message_nodes[i].getElementsByTagName("interface");			
						var interfaced_node = message_nodes[i].getElementsByTagName("interfaced");
						var dst_node = message_nodes[i].getElementsByTagName("dst");
						
						var seq = seq_node[0].firstChild.nodeValue;
						
						//Inserta el valor de los nodos en logs_div
						logs_div.innerHTML += "<div id='host'>" + host_node[0].firstChild.nodeValue + "</div>"; 
						//Selección de color para el campo Prioridad					
						switch(priority_node[0].firstChild.nodeValue){
							case 'emergency':
							logs_div.innerHTML += "<div id='priority1'>Emergencia</div>";
							break;
							case 'alert':
							logs_div.innerHTML += "<div id='priority2'>Alerta</div>";
							break;
							case 'critical':
							logs_div.innerHTML += "<div id='priority3'>Critico</div>";
							break;
							case 'error':
							logs_div.innerHTML += "<div id='priority4'>Eror</div>";
							break;
							case 'warning':
							logs_div.innerHTML += "<div id='priority5'>Advertencia</div>";
							break;
							case 'notice':
							logs_div.innerHTML += "<div id='priority6'>Notificaci&oacute;n</div>";
							break;
							case 'information':
							logs_div.innerHTML += "<div id='priority7'>Informaci&oacute;n</div>";
							break;
							case 'debug':
							logs_div.innerHTML += "<div id='priority8'>Depuraci&oacute;n</div>";
							break;
						}
						logs_div.innerHTML += "<div id='date'>" + date_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='time'>" + time_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='id'>" + id_node[0].firstChild.nodeValue + "</div>";						
						logs_div.innerHTML += "<div id='src'>" + src_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='interface'>" + interface_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='interfaced'>" + interfaced_node[0].firstChild.nodeValue + "</div>";
 						logs_div.innerHTML += "<div id='dst'>" + dst_node[0].firstChild.nodeValue + "</div>";	
 						
						logs_div.scrollTop = logs_div.scrollHeight;
						lastMessage = (message_nodes[i].getAttribute('id'));					
						
					}
					mTimer = setTimeout('Logs();',1000); //Verifica cambios en la base de datos cada segundo.
		        
			}