Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Ajax no funciona en Chrome

Estas en el tema de Ajax no funciona en Chrome en el foro de Javascript en Foros del Web. hola amigo tengo el siguiente codigo realizando un buscador pero la cosa es q no me va en google chrome. Código: <!doctype html> <html lang="en"> ...
  #1 (permalink)  
Antiguo 16/07/2013, 12:09
Avatar de cristo995  
Fecha de Ingreso: noviembre-2012
Mensajes: 187
Antigüedad: 11 años, 5 meses
Puntos: 0
Ajax no funciona en Chrome

hola amigo tengo el siguiente codigo realizando un buscador pero la cosa es q no me va en google chrome.

Código:
<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jqueryUI.js"></script>
<link rel="stylesheet"type="text/css" href="css/ui-lightness/jquery-ui-1.8.23.custom.css">
<link rel="stylesheet" type="text/css" href="css/estilos.css">

<script type="text/javascript" language="javascript">
	
		 function llamadaAjax(str){
			var http ;

			if(window.XMLHttpRequest){
				http = XMLHttpRequest();
			}
			else{
				http = new ActiveXObject('Microsoft.XMLHTTP');
			}

			http.onreadystatechange = function(){
				if(http.readyState == 4 && http.status == 200){
					var respuesta = http.responseText;

					
					document.getElementById('cajaAjax').innerHTML = respuesta;

				}
			}

			http.open('GET','buscadorAjax.php?variable='+str,true);
			http.send();
		}  


		function pasar(str){
	  			document.getElementById('palabra').value= str;
	  			llamadaAjax() = false;
	  	}

	  	function finAjax(){
	  		llamadaAjax() = false;
	  	}

	 

		$(document).on('ready',function(){
			$('#boton').on('click',function(){
			$('#datos').load("buscador.php",{palabra:$('#palabra').prop('value')}
				);
			});
		});

		

	
</script>


</head>
<body>
<!-- capa central que contiene todo -->
<div id="contenedor">

<!-- Icono de Inicio casita Naranja-->
		<div id="inicio"> <a href="menu_administrador.php">   <img src="http://www.forosdelweb.com/f13/images/inicio.png" title="Regresar al inicio" id="inicioimage"></a></div>

			<!-- cabecera primera capa color verde -->
		<div id="cabecera">
			<img src="http://www.forosdelweb.com/f13/images/logoSena.png" id="logoSena"><br>C.I.D.M
		</div>
		
		   <!-- Segunda capa color naranja-->
		<div id="info">
			Selecciona el tipo de consulta		
		</div>	
	       <!-- Formulario para ingresar la palabra y realizar la busqueda-->
		<div id="formulario" name="buscador">
			<form method="POST" action=""> 
		<strong>Palabra clave:</strong> <input type="text" name="palabra" id="palabra" autocomplete="of" size="40"  onkeyup="llamadaAjax(this.value)"><input type="button" value="Buscar" id="boton"> <!-- Boton Buscar-->
		</div>
		<div id="cajaAjax"></div>
		<!-- Capa donde aparece los registros obtenido mediante  el archivo bucador.php-->
		<div id="datos">
		</div>
</div>


</body>
</html>
tengo IE 10 , Mozilla 22.0 , Opera 12.5 y funciona bien pero en :
Chrome Versión 28.0.1500.72 m No funciona investigando dicen q limpiar el historial o poner este en la cabecera del php: header("Cache-Control: no-store, no-cache, must-revalidate");

pero nada no se soluciona . me podria echar una mano please..

Última edición por zerokilled; 17/07/2013 a las 06:49 Razón: bbcode
  #2 (permalink)  
Antiguo 16/07/2013, 12:11
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ajax no funciona en Chrome

Primero prueba esto:

Código Javascript:
Ver original
  1. http = new XMLHttpRequest();
  #3 (permalink)  
Antiguo 16/07/2013, 12:14
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: Ajax no funciona en Chrome

Hay algun motivo por el cual hagas peticiones Ajax de manera tan rudimentaria teniendo jQuery en la pagina?
__________________
blog | @aijoona
  #4 (permalink)  
Antiguo 16/07/2013, 12:21
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ajax no funciona en Chrome

@Aijoona yo haría justo lo contrario, transformar el código jQuery a Javascript clásico.
  #5 (permalink)  
Antiguo 16/07/2013, 13:27
Avatar de cristo995  
Fecha de Ingreso: noviembre-2012
Mensajes: 187
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Ajax no funciona en Chrome

sigue sin funcionar en chrome
  #6 (permalink)  
Antiguo 16/07/2013, 13:30
Avatar de cristo995  
Fecha de Ingreso: noviembre-2012
Mensajes: 187
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Ajax no funciona en Chrome

es un buscador.. por tanto cada vez que presiono una tecla se hace una peticion creo q es lo logico para un buscador

y lo de jquery lo tengo para hacer unos efectos de calendario y otras cositass.
  #7 (permalink)  
Antiguo 16/07/2013, 13:34
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: Ajax no funciona en Chrome

Cita:
Iniciado por 3nr1c Ver Mensaje
@Aijoona yo haría justo lo contrario, transformar el código jQuery a Javascript clásico.
Cuando tenés que resolver problemas, ignorar las abstracciones disponibles es simplemente sumar problemas.

El Op tiene poca idea de JavaScript, con lo cual me parece que es mucho más sencillo (y con mejores resultados) utilizar las abstracciones que tiene disponible. Ya esta utilizando jQuery en el caso de ejemplo, es un sinsentido ponerse a programar consultas ajax.
__________________
blog | @aijoona
  #8 (permalink)  
Antiguo 17/07/2013, 02:11
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: Ajax no funciona en Chrome

Cita:
Iniciado por Aijoona Ver Mensaje
Cuando tenés que resolver problemas, ignorar las abstracciones disponibles es simplemente sumar problemas.

El Op tiene poca idea de JavaScript, con lo cual me parece que es mucho más sencillo (y con mejores resultados) utilizar las abstracciones que tiene disponible. Ya esta utilizando jQuery en el caso de ejemplo, es un sinsentido ponerse a programar consultas ajax.
Creo que es mejor utilizar javascript nativo ya que asi nunca vas a aprender lo que se esconde tedras de las lineas largas de jquery.

Simplemente por saber como para poder modificar lo ya creado de jquery entre otras cosas.

Lo de que no funciona en Chrome a mi tambien me paso una vez pero tras muchos intentos de solucionar lo en el archivo en el que no funcionaba cree otro y probe escribir todo de nuevo y funciono aunque no llegue a saber cual era el problema
  #9 (permalink)  
Antiguo 17/07/2013, 06:32
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: Ajax no funciona en Chrome

De ninguna* manera es mejor utilizar javascript nativo para algunas cosas, de hecho, este debe ser el ejemplo paradigmatico.

*Puede haber excepciones, pero son *muy* pocas y para proyectos que tienen tiempo suficiente como para no depender de abstracciones.

Además estás suponiendo que tiene intenciones de aprender, cuando lo más probable sea que quiera hacer andar su proyecto.
__________________
blog | @aijoona
  #10 (permalink)  
Antiguo 17/07/2013, 08:11
Avatar de cristo995  
Fecha de Ingreso: noviembre-2012
Mensajes: 187
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Ajax no funciona en Chrome

probando otra forma con ajax.

function getXMLHttpRequest(){
var objetoAjax;
try{
objetoAjax = new XMLHttpRequest();
}catch(err1){
try{
objetoAjax = new ActiveXObject("Msxm12.XMLHTTP");
}catch(err2){
try{
objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
}catch(err3){
objetoAjax = false;
}
}
}
return objetoAjax;
}

var http = new getXMLHttpRequest();

function llamadaAjax(str){
http.open('GET','buscadorAjax.php?variable='+str,t rue);
http.onreadystatechange = estado;
http.send(null);
}

function estado(){
if(http.readyState==4){
if(http.status==200){
var respuesta = http.responseText;
document.getElementById('cajaAjax').innerHTML = respuesta;
}
}
else
{
document.getElementById('cajaAjax').innerHTML = '<img id="im_cargando" src="cargando.gif">';
}

}

con esto me a dado una luz en chrome digo una luz por q ahora aunque sea sale algo pero no sale bien ..

resultado en Mozilla y otros.. 100%bin



resultado en Google Chrome: 100% mal :(


como se puede ver es un tipo buscador estilo google que apenas presiono una tecla empieza a buscar en la BD pero no se q tendra Chrome q no funciona bien .

aqui el css donde se muestran los resultados.

#cajaAjax{
width:270px;
position:absolute;
margin-left:33.5%;
margin-top:37.5%;
text-align:left;
border:0px dashed gray;
background: #F2F2F2;
font-weight:lighter;
z-index:1;
padding-top:5px;
padding-bottom:5px;
padding-left:9px;
min-height: -10px;
border-radius:0px 10px 10px 0px;
}
  #11 (permalink)  
Antiguo 17/07/2013, 13:15
Avatar de cristo995  
Fecha de Ingreso: noviembre-2012
Mensajes: 187
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Ajax no funciona en Chrome

Listo ya pude solucionar...
el segundo codigo ajax fue el indicado para hacerlo funcionar en cualquier navegador, y lo otro de q no se veia bien en Chrome no era cuestion de javascript ni de Ajax

era que los datos los estaba mostrando en un <option > </option> como lista desplegable
aunque servia en los otros navegadores no se mostraba bien en Chrome . lo que hice fue cambiar ese <iption> por un <input type="text" value="'.$resultado['nom_lib'] ... y por medio de css retocarlo para quitar bordes, cambiar el color , etcc todo esto para q no se vea raro y se vea un estilo lista :) Gracias a todos los que me respondieron
  #12 (permalink)  
Antiguo 17/07/2013, 20:04
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: Ajax no funciona en Chrome

Cita:
Iniciado por Aijoona Ver Mensaje
De ninguna* manera es mejor utilizar javascript nativo para algunas cosas, de hecho, este debe ser el ejemplo paradigmatico.

*Puede haber excepciones, pero son *muy* pocas y para proyectos que tienen tiempo suficiente como para no depender de abstracciones.

Además estás suponiendo que tiene intenciones de aprender, cuando lo más probable sea que quiera hacer andar su proyecto.
En caso de que no quieres aprender sirve o para los proyectos con poco tiempo pero para mi es siempre aprender ya que todabia no trabajo

Etiquetas: ajax, chrome, formulario, funcion, html, input, jquery, js, php
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 15:36.