Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

peterlink

[Resolvido] Problemas com AJAX no IE

Recommended Posts

Boa tarde galera, estou com um problema o ajax do meu site não funciona no internet explorer.

 

Uso os seguintes codigos

 

function GetXMLHttp() {
   if(navigator.appName == "Microsoft Internet Explorer") {
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
   }
   else {
       xmlHttp = new XMLHttpRequest();
   }
   return xmlHttp;
}

var xmlRequest = GetXMLHttp();


function abrirPag(valor)
{
var url = valor;

xmlRequest.onreadystatechange = mudancaEstado;
xmlRequest.open("GET",url,true);
xmlRequest.send(null);

if (xmlRequest.readyState == 1) {
document.getElementById("conteudo").innerHTML = "<img src='loader.gif'>";
}

return url;
}

function mudancaEstado(){
if (xmlRequest.readyState == 4){
document.getElementById("conteudo").innerHTML = xmlRequest.responseText;
}
}

 

chamo deste modo as paginas.

<a href="javascript: void(0);" onclick="abrirPag('modulos/pages/cadastrar.php');">Cadastrar tarefa</a><br>

 

No Chrome e no firefox funciona normal agora no IE quando eu chamo uma pagina com esse ajax e dentro dessa pagina eu passo por get um id pra outra pagina deste modo nao funciona.

<a onclick=\"abrirPag('processa.php?id=$id2');\">

no IE nao consigo passar esse ID ele nao carrega a proxima pagina.

Pelo que percebi ele so funciona a primera vez que chamo uma pagina, na segunda em diante ja nao carrega mais nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro de tudo. Dê um CTRL + SHIFT + J e debugge o seu código.

 

Feito isso, qual versão do IE você está usando? XHR possui 2 métodos diferentes dentro de um mesmo objeto para o IE que é o Msxml2.XMLHTTP e o Microsoft.XMLHTTP .

 

Beleza, lendo isso. Eu alteraria o seu código para um mais completo.

 

function GetXMLHttp()
{
   var ajax = null;

   if( window.XMLHttpRequest )
   {
       ajax = new XMLHttpRequest();
   } 
   else if( window.ActiveXObject )
   {
       try
       {
           ajax = new XMLHTTP("Microsoft.XMLHTTP");
       }
       catch(e)
       {
           try
           {
               ajax = new XMLHTTP("Msxml2.XMLHTTP");
           }
           catch(e)
           {
               ajax = false;
           }
       }
   }

   if( ajax === false || ajax === null )
   {
       window.alert("O seu navegador não suporta ajax!");
   }

   return ajax;
}

 

Feito isso, saiba se está passando o objeto para a função, ai você diz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza amigo vou fazer o teste aqui, estava usando ie 8

 

 

EDIT ==================================

 

Cara muito obrigado mesmo, funcionando certinho agora no IE. valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.