Ir para conteúdo
Fórum Script Brasil
  • 0

porque desse problema


Guest Filipe Medeiros Muniz

Pergunta

Guest Filipe Medeiros Muniz

Bom galera funciona perfeitamente no firefox mas no internet explore da problema simplesmente não funciona sendo que já testei outras aplicações em ajax no meu IE e funcionou será que tem algum problema no meu script cegue tudo logo abaixo

XMLHttp.js

var requisicao;
    try { // Firefox, Opera 8.0+, Safari
      requisicao = new XMLHttpRequest();
    } catch (e) { // Internet Explorer
      try {
        requisicao = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (ee) {
        try {
          requisicao = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
          requisicao = false;
        }
      }
    }
Teste.html
<html>
<head>
 &lt;script languase="javascript"  src="javascript/XMLHttp.js"></script>
 &lt;script type='text/javascript'>
    function requisita(url) {
      if (requisicao == false) {
        alert('Seu browser não suporta Ajax');
        return false;
     }
  
     requisicao.onreadystatechange = function() {
      var resposta = document.getElementById('resposta');
      switch (requisicao.readyState) {
        case 2:
             resposta.innerHTML = "Carregando...<br/>";
             break;
         case 4:
             if (requisicao.status == '200') {
                resposta.innerHTML = requisicao.responseText;
              } else {
                resposta.innerHTML = "<p><b>Erro no servidor</b></p>";
             }
      }
    }
    // metodo get sem passagem de paramentros 
    //var param = "nome=" + document.getElementById('nome').value;
    requisicao.open("GET",url+'?'+param,true);
    requisicao.send(null);
    // fim metodo get
    
    /* Metodo post com pássagem de paramnetros*/
    /*var param = "nome=" + document.getElementById('nome').value;
    requisicao.open("POST", url, true);
    requisicao.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    requisicao.setRequestHeader('Content-length',param.length);
    requisicao.setRequestHeader('Connection','close');
    requisicao.send(param);*/
  }
</script>
</head>
<body>
<h1>Teste de Ajax</h1>
Seu nome: <input type='text' name='nome' id='nome' />
<input type='button' value='Requisitar' onclick='requisita("processo.asp")' />
<a href="java script:;" onclick='requisita("texto1.html");'>CHAMAR</a>
<div id='resposta'></div>
</body>
</html>

Editado por fercosmig
Utilize as tags de código, facilitam a visualização.
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Oi Filipe o/.

Na linha do teste.html, troca o if que está assim:

if (requisicao == false) {
        alert('Seu browser não suporta Ajax');
        return false;
     }
Para assim:
if (!requisicao) {
        alert('Seu browser não suporta Ajax');
        return false;
     }

Veja se funciona.

Akeleabrasssss

Link para o comentário
Compartilhar em outros sites

  • 0

E aí pessoal!

Pelo menos uma coisa eu identifiquei como problema... No IE, deve ser tratada a string de retorno, como em

resposta.innerHTML = requisicao.responseText;
com unescape...
resposta.innerHTML = unescape(requisicao.responseText);
No FF isso é indiferente... E no lado servidor, o que se escreve deve ter um Escape() (no IE, para o FF não!), tipo...
Response.Write Escape(stringRetorno)

Tem um post com um código que pode ser útil para exemplificar: http://scriptbrasil.com.br/forum/index.php?showtopic=111804

[]'s a todos!

Link para o comentário
Compartilhar em outros sites

  • 0

É vai depender do problema ao qual o Filipe refere. Se o problema é apenas o fato da string estar estranha, com caracteres esquisitos, então sim, essa é uma solução pro problema dele.

Porém, não dá pra saber pois ele não postou o problema. De fato, no meu iE deu problema na linha do código onde ele usava o if como eu comentei no meu penúltimo post. O ie não conseguia entender a condição do jeito que estava antes e dava problema.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...