XmlHttpRequest não funciona no IE7
pessoal tenho um script de envio de formulário com ajax, ele funciona em todos navegador menos no IE na vers]ao 7, no IE 9 roda normal e nos demais browser
segue o script abaixo
try{
xmlhttp = new XMLHttpRequest();
}catch(ee){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
}
}
fila=[];
ifila=0;
errBoxPre = '<table width="300" height="50" border="0" style="font-size: 14px; font-family: Arial, Helvetica, sans-serif; color: #990000; background-color: #FFCCCC; border: 1px solid #990000;"><tr><td align="center">';
errBoxPos = '</td></tr></table>';
function carrega(url, destino){
document.getElementById(destino).innerHTML="<center><br><img SRC='img/ajax-loader.gif' alt='Loading' /><br><br>Processando informações</center>";
fila[fila.length]=[url,destino];
if((ifila+1)==fila.length)ajaxRun();
}
function ajaxRun(){
url = fila[ifila][0];
destino = fila[ifila][1];
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; iso-8859-1");
xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
xmlhttp.setRequestHeader("Pragma", "no-cache");
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4){
if(xmlhttp.status != 200){
switch(xmlhttp.status){
case 400:
document.getElementById(destino).innerHTML=errBoxPre+"ERRO 400<br />Erro de sintaxe."+errBoxPos;
break
case 401:
document.getElementById(destino).innerHTML=errBoxPre+"ERRO 401<br />Não autorizado."+errBoxPos;
break
case 403:
document.getElementById(destino).innerHTML=errBoxPre+"ERRO 403<br />Acesso negado."+errBoxPos;
break
case 404:
document.getElementById(destino).innerHTML=errBoxPre+"ERRO 404<br />Arquivo não encontrado."+errBoxPos;
break
case 500:
document.getElementById(destino).innerHTML=errBoxPre+"ERRO 500<br />Erro interno do servidor."+errBoxPos;
break
case 501:
document.getElementById(destino).innerHTML=errBoxPre+"ERRO 501<br />Não suportado."+errBoxPos;
break
case 502:
document.getElementById(destino).innerHTML=errBoxPre+"ERRO 502<br />Servidor temporariamente indisponível."+errBoxPos;
break
case 503:
document.getElementById(destino).innerHTML=errBoxPre+"ERRO 503<br />Erro no retorno dos dados."+errBoxPos;
break
}
} else {
texto=unescape(xmlhttp.responseText.replace(/\+/g," "));
document.getElementById(destino).innerHTML=texto;
}
ifila++;
if(ifila<fila.length)setTimeout("ajaxRun()",20);
}
}
xmlhttp.send(url);
}
function enviaForm(frmNome, url, destino){
f = document.getElementById(frmNome);
var query=url;
for (i=0;i<f.elements.length;i++){
query += i==0 ? '?' : '&';
query += f.elements[i].name + '=' + f.elements[i].value;
}
carrega(query, destino);
}
so reforçando que o IE 7 usa o XMLHttpRequest não o ActiveXObject
alguem tem uma solução ?
quando abro no ie 7 e envio o form so fica a msg de "aguardando" ...
Discussão (5)
Carregando comentários...