10 agosto 2007

synchronous XMLHttpRequest does not fire "readystatechange" event

Bom vocês já devem ter ouvido falar de Ajax ou de uma outra coisa chamada Web 2.0, pois bem, eu estava todo 'feliz e contente' escrevendo uma validação dinâmica para email, sempre testando no Internet Explorer (é, domínio de mercado é fogo) e tudo estava Ok. Então quando fui testar no FireFox (sem discriminações quanto a Navegadores hein!?) não funcionava.
O Código estava certinho :

req.open("POST", "verifica_email_ja_cadastrado.php",false);
req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
req.send("name="+escape(email));

O detalhe estava no 'false' para fazer a requisição ser Síncrona (importantíssimo no meu caso!)

Depois de ficar quase 2 dias na internet procurando achei o motivo : Um BUG do FireFox!!!!

Engraçado é que na página do BUG um dos caras diz (numa tradução bemmm livre): "poxa se o IE faz nós também temos que fazer!!!!)" kkkkk

Na página do BUG tem a descrição de um Workaround (palavra bonita em inglês para Gambiarra) para essa situação. Li e adaptei pro meu caso.

Placar final : XMLHttpRequest 3 x 7 Analista de lavaaaaaada! kkkkk

Bom, depois dessa descarga de "tecniquês" lá vou eu hehehe

Esperando o próximo BUG, ops quer dizer desafio. Fui!!!!!!!