Ajax Firefox e Netscape

5 respostas
R

Amigos estou com uma problema e gostaria da opinião de vocês!!!

No IE e consigo definir que quero minha conexao do ajax como sincrona ou assincrona… já no
Firefox ou no Netscape não consigo definir como sincrona apenas assincrona… alguém saberia me dizer se isso é certo ou incorreto?

exemplo

req.open(“GET”,theUrl,false); // ie funciona

req.open(“GET”,theUrl,false); // firefox e netscape não funciona

req.open(“GET”,theUrl,true); //funciona para os 3 browsers

Att. Roberto

5 Respostas

V

tanto no mozilla como no ie eu sempre usei assim:

ajax.open( "POST", path, true );  
  ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");

e sempre funcionou…
t++

deniswsrosa

e qual seria o motivo de vc querer sua conexao sincrona??? a propria definicao das siglas “ajax” ja dizem tudo.

legionarioba

Talvez você não esteja instanciando o objeto XMLHttpRequest correto. Uma das formas é essa:

if (window.XMLHttpRequest) { // Usado para Mozilla, Safari
            http_request = new XMLHttpRequest();
        } else if (window.ActiveXObject) { // Usado pro IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
R

Amigos estou instanciando o objeto XMLHttpRequest corretament… só que quando quero uma conexao sincrona não funciona nos outros navegadores apenas no IE…

Quero uma conexao sincrona pq quero que meu processo só continue apos a resposta da requisição!!! Como se fosse uma aplicação desktop!!!

Pois tenho muitos eventos que poderam ser executados apenas apos o retorno da requisição!!! Tipo o onfucus do proximo objeto… ele só poderar seguir seu fluxo apos o retorno da requisição!!! Pois o maior vilão neste caso esta sendo a entrada com o mouse no objeto!!!

Se alguem conseguir me dar mais algum dica fico grato!!!

Obrigado

V

Se vc quer que o processo continue apos a resposta é só testar o readyState

ajax.onreadystatechange = function() 
{	  
    if ( ajax.readyState == 4 )
    {	    
	 if(ajax.status == 200) 
	 {
          .....
          }
     }
}
Criado 4 de julho de 2006
Ultima resposta 5 de jul. de 2006
Respostas 5
Participantes 4