Exemplo simples de AJAX com erro
Tenhos 2 arquivos, um com o ajax e outro só com pequeno texto de exemplo.
Função do arquivo AJAX é puxar o texto do outro arquivo e substituir no arquivo atual dentro da div:
ajax.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript"><!--
var xmlhttp = openAjax();
function openAjax(){
try{
return new XMLHttpRequest();
}catch(ee){
try{
return new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
return new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
return false;
}
}
}
}
function pegaConteudo() {
if(xmlhttp){
xmlhttp.onreadystatechange = processadorMudancaEstado;
xmlhttp.open("GET", "dados.html");
xmlhttp.setRequestHeader('Content-Type','text/xml');
xmlhttp.setRequestHeader('encoding','ISO-8859-1');
xmlhttp.send(null);
}else{
alert("ERRO: "+xmlhttp.statusText);
}
}
function processadorMudancaEstado () {
if ( xmlhttp.readyState == 4) { // Completo
if(xmlhttp.status == 200) { // resposta do servidor OK
document.getElementById("div_conteudo").innerHTML = xmlhttp.responseText;
}else{
alert( "Problema: " + xmlhttp.statusText );
}
}
}-->
</script>
</head>
<body>
<div id="div_conteudo">Conteúdo que será alterado</div>
<input type="button" value="Carregar conteúdo" name="carregador" id="carregador" lang="pt-br" title="Carregador" onclick="pegaConteudo();"/>
</body>
</html>
dados.html
<h1>Conteúdo HTML.</h1>
<p>Este é o conteúdo HTML carregado dinamicamente do documento "dados.html" através da propriedade <em>responseText</em>.</p>
Toda vez que eu rodo no FF, ele dá o alert() e quando eu tento no IE (qlqr versão) ele não funciona e faz nada.
O que está errado no código?
Discussão (1)
Carregando comentários...