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

ajax no funciona en firefox

Estas en el tema de ajax no funciona en firefox en el foro de Frameworks JS en Foros del Web. hola sucede que soy nuevo en ajax a pesar de ello creo que esta semana ya he logrado muchos avances y de una u otra ...
  #1 (permalink)  
Antiguo 20/08/2008, 17:50
 
Fecha de Ingreso: febrero-2007
Ubicación: Ecuador
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 0
ajax no funciona en firefox

hola sucede que soy nuevo en ajax a pesar de ello creo que esta semana ya he logrado muchos avances y de una u otra manera ya estoy apto para seguir enrolado en AJAX

SUCEDE QUE CARGO UNOS COMBOS Y EL CONTENIDO DE UNOS DIVS USANDO AJAX y me funciona perfecto en el internet explorer mientras que el firefox no sale nada no se despliega la informacion (la version de firefox que uso es la ultima me la descargue hace 2 dias ).

No se que pasa tengo activado javascipt en firefox y nada.

Mi arquitectura de mi aplicacion es la siguiente.

Por un lado tengo mis paginas html en un servidor web 1 y por otro tengo mi aplicacion web en java 2JEE en otro servidor 2, sucede que a traves de ajax realizo peticiones a mis servlets publicados indicandole al objeto XMLHTMLRequest en el metodo open() la url indicada por ejemplo http://200.107.23.34:8284/miapp/miservlet

donde miservlet es el nombre del servler al que realizo peticiones este me consulta mi bdd y otras cosas luego me envia como respuesta un xml y lo proceso con DOM.


es algo asi:

window.onload = function() {
cargaAreas();
}


function cargaAreas()
{
ajax = nuevoAjax();
if (ajax) {
ajax.onreadystatechange = muestraAreas;
ajax.open("POST","http://200.107.23.34:8284/miapp/miservlet", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send(null);
}
}
function muestraAreas()
{
if (ajax.readyState == 4) {
if (ajax.status == 200) {
var lista = document.getElementById("cmb_areas");
var documento_xml = ajax.responseXML;
var ars = documento_xml.getElementsByTagName("areas");

var areas = ars[0];
var lasAreas = areas.getElementsByTagName("area");
lista.options[0] = new Option("- selecciona -");
// Metodo 1: Crear elementos Option() y aniadirlos a la lista
for(i=0; i<lasAreas.length; i++) {

var codigo =lasAreas[i].getElementsByTagName("codigo")[0].firstChild.nodeValue;
var nombre =lasAreas[i].getElementsByTagName("nombre")[0].firstChild.nodeValue;
lista.options[i+1] = new Option(nombre, codigo);
}
}
}
}

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 new XMLHttpRequest();
}

return xmlhttp;

}



/////////////

asi pues el xml devuelto es este miren:

<areas>
<area>
<codigo>1</codigo>
<nombre>INFORMATICA</nombre>
</area>
<area>
<codigo>2</codigo>
<nombre>ADMINISTRACION</nombre>
</area>
<area>
<codigo>3</codigo>
<nombre>SALUD Y MEDICINA</nombre>
</area>
<area>
<codigo>4</codigo>
<nombre>HISTORIA</nombre>
</area>
</areas>


la pregunta ES PORQUE ME FUNCIONA PERFECTO EN INTERNET EXPLORER Y NADA
QUE VER EN FIREFOX?


de pronto es la manera como instancio el objeto XMLHTLMLRequest


Bueno de todas maneras creo que acabo de hacer un buen aporte a la comunidad porque el codigo de arriba it's OK
creo?

salu2 desde ECUADOR AMAZONICO
by rickymax
  #2 (permalink)  
Antiguo 20/08/2008, 20:06
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: ajax no funciona en firefox

Si no funciona no es ok, y el codigo que pusiste me parece que no lo creaste tu, ahora lo que siempre recomiendo, es : cuidado con las id que asignes a cada elemnto del DOM, ejm a IE no le importa si una imagen tiene una id y hay una funcion que se llame igual, pero a FF si, instalate Firebug y vas a saber el error.
saludos
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 20/08/2008, 21:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ajax no funciona en firefox

Hola:

Si el código es copy & paste:

Código:
xmlhttp = new new XMLHttpRequest();
... new new...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 21/08/2008, 07:40
 
Fecha de Ingreso: febrero-2007
Ubicación: Ecuador
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: ajax no funciona en firefox

miren si bien es cierto soy nuevo en ajax lo ultimo que hago es un copy&paste por lo general analizo codigos para implementarlos a mi manera lo unico que si no modifique es la forma de instanciar mi XMLHTMLRequest,...

por algo llevo anios programando..
de toda maneras gracias por la respuesta y por hacerme notar mi enorme error en

xmlhttp = new new XMLHttpRequest();

ya le busco el firebug
  #5 (permalink)  
Antiguo 21/08/2008, 10:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ajax no funciona en firefox

Cita:
Iniciado por rickymax Ver Mensaje
miren si bien es cierto soy nuevo en ajax lo ultimo que hago es un copy&paste por lo general analizo codigos para implementarlos a mi manera lo unico que si no modifique es la forma de instanciar mi XMLHTMLRequest,...
Tu respuesta suena a que te has enojado (al menos me lo parece ), pero no hay porqué... puede que esa sea la razón del error, porque sin mirar muy detenidamente el código, si dices que en explorer va bien, entonces la parte principal del código debería estar bien...

Cita:
Iniciado por rickymax Ver Mensaje
...por algo llevo anios programando..
Bueno, yo terminé mi primer curso hace más 20 años...

La cuestión es que tu has hecho una pregunta y esa es una respuesta... otra que se me ocurre, aunque no estoy seguro, es que para recoger las respuestas XML yo suelo usar firstChild.data en vez de firstChild.nodeValue ... Creo que en algunos casos hay respuestas distintas... deberías probarlo.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 27/08/2008, 12:36
 
Fecha de Ingreso: febrero-2007
Ubicación: Ecuador
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: ajax no funciona en firefox

hola a todos rengo la respuesta

sucede que no es que no funcione en firefox sino
que cuando hago peticiones con el metodo open
de mi objeto ajax las hago a servlets ubicados en otro servidor
entonces firefox con sus seguridades no me permite
las peticiones son solamante dentro del mismo servidor y usando el mismo puerto
son cosas de firefox
e intentado cambiar esto en el js invocando
a lineas como estas

function cargaEstados()
{
ajax=false;
ajax = nuevoAjax();
if (ajax) {
ajax.onreadystatechange = muestraEstados;
ur=getURL()+"EXB_GETESTADOS";


netscape.security.PrivilegeManager.enablePrivilege ("UniversalBrowserRead");
netscape.security.PrivilegeManager.enablePrivilege ("UniversalXPConnect");
netscape.security.PrivilegeManager.enablePrivilege ("UniversalFileRead");
netscape.security.PrivilegeManager.enablePrivilege ("CapabilityPreferencesAccess ");
netscape.security.PrivilegeManager.enablePrivilege ("UniversalBrowserAccess");


ajax.open("POST", ur, true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send();
}
}

pero nada no funciona alguien ha manejado este caso y lo ha logrado resolver
gracias por la respuestas
  #7 (permalink)  
Antiguo 27/08/2008, 14:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ajax no funciona en firefox

Es muy raro la especificacion del XMLHttpRequest indica que no se pueden hacer a otro servidor / puerto, se me hace raro que si te funcione en IE, ya que todos los navegadores (Safari, Firefox, Konqueror, etc.) hacen uso de esta regla.

Saludos.
  #8 (permalink)  
Antiguo 28/08/2008, 07:29
 
Fecha de Ingreso: febrero-2007
Ubicación: Ecuador
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: ajax no funciona en firefox

pues es claro el hecho que lafamilia de navegadores de netscape tiene esto implicito en sus seguridad, claro el internet explorer done me funciona es el IE 6 .

he leido al respecto y con el codigo

netscape.security.PrivilegeManager.enablePrivilege ("UniversalBrowserRead");
netscape.security.PrivilegeManager.enablePrivilege ("UniversalXPConnect");
netscape.security.PrivilegeManager.enablePrivilege ("UniversalFileRead");
netscape.security.PrivilegeManager.enablePrivilege ("CapabilityPreferencesAccess ");
netscape.security.PrivilegeManager.enablePrivilege ("UniversalBrowserAccess");


es posible anular esta restriccion pero aun no me funciona

la situacion es que navegadores como firefox tiene esta seguridad para evitar ataques desde otros sitios

salu2 desde Ecuador
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 18:24.