Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Por que no funciona ajax en explorer?

Estas en el tema de Por que no funciona ajax en explorer? en el foro de Frameworks JS en Foros del Web. Hola! desde hace unos dias presento un problema con una funcion que hice en ajax, esto es cuando se abre el archivo en explorer, desgraciadamente ...
  #1 (permalink)  
Antiguo 03/04/2006, 13:06
 
Fecha de Ingreso: marzo-2006
Mensajes: 22
Antigüedad: 18 años
Puntos: 0
Pregunta Por que no funciona ajax en explorer?

Hola! desde hace unos dias presento un problema con una funcion que hice en ajax, esto es cuando se abre el archivo en explorer, desgraciadamente todos mis usuarios lo utilizan, asi que en realidad tengo un problema.

Eh ido probando parte por parte pero provoca un error en tiempo de ejecución con un numero muy extraño, pero solo es en la parte de ya imprimir los datos...esta es mi función:

function chgTipo()
{
contenedor = document.getElementById('identificador');
tipo = document.getElementById('cie').value;
ajax=nuevoAjax();
ajax.open("GET", "xcie.php?cie="+tipo,true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
contenedor.innerHTML = ajax.responseText
}
}
ajax.send(null)
}

function chgRecord()
{
contenedor = document.getElementById('datos');
record = document.getElementById('recordset').value;
ajax=nuevoAjax();
ajax.open("GET", "xcie.php?desc="+record,true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
contenedor.innerHTML = ajax.responseText
}
}
ajax.send(null)
}

y la parte de xcie.php es esta:

if(isset($_GET["cie"])){
$cie = $_GET["cie"];

$evento = 'onChange="chgRecord()"';
$modificador = "WHERE descripcion LIKE '%".strtoupper($cie)."%'";
impSelect("recordset","cie_10","-99","descripcion,descripcion AS desc2",$evento,$modificador,"");
}else if(isset($_GET["desc"]))
{
$desc = $_GET["desc"];
$_SESSION["cies"][$_SESSION["i"]] = $desc;
$_SESSION["i"]++;
foreach($_SESSION["cies"] as $cie)
echo $cie."<br>";

}

en realidad todo se ve muy bien y corre perfecto en mozilla, cuando le comento el ajax.send(null), obvio no me corre, pero ya no me marca el error...

Agradeceria bastante si alguien me dice por que pasa esto y
  #2 (permalink)  
Antiguo 04/04/2006, 10:37
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
"ajax=nuevoAjax();" y donde tienes definida la funcion Ajax? depende como la misma cree el objeto se vera si funciona o no.
  #3 (permalink)  
Antiguo 04/04/2006, 11:24
 
Fecha de Ingreso: marzo-2006
Mensajes: 22
Antigüedad: 18 años
Puntos: 0
mi funcion esta definida dentro de un archivo php, dentro del header, este archivo php hace un php_self, todo lo hago dentro del mismo archivo excepto, la consulta a la bd,el ajax.js lo tengo en otra carpeta y el query tambien esta en otro archivo...
  #4 (permalink)  
Antiguo 07/04/2006, 16:58
 
Fecha de Ingreso: septiembre-2002
Ubicación: México
Mensajes: 356
Antigüedad: 21 años, 7 meses
Puntos: 0
El objeto ajax esta declarado en.

Para ayudar un poco, el objeto AJAX esta declarado en un archivo .js y es esta
Código:
function nuevoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
Lo que el codigo intenta hacer es lo siguiente:
  1. Se teclea cierto padecimiento a buscar.
  2. Mediante AJAX se hace la busqueda de ese padecimiento y se carga un select con todos los casos que lo contienen.
  3. Al elegir una de estas opciones se manda a llamar a otra funcion mediante AJAX que va guardando en un arreglo las opciones elegidas y despues las va pintando

El problema esta desde la primer llamada, ahi se provoca un error en tiempo de ejecucion que solo despliega un numero. En mozillla si corre a la perfección, pero en el explorer no lo hace.

Saludos!
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:06.