Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, estou fazendo coisas simples com AJAX e me deparei com um problema que, aparentemente é uma particularidade do Internet Explorer.
Fiz um esquema onde, ao clicar num checkbox, uma div aparece com uma tabela dentro com todos os dados recolhidos da tabela do banco.
Mas se por um acaso eu clico no checkbox de novo para fechar, deleto todos os registros do banco e abro de novo, o IE mostra tudo, como se nada houvesse sido apagado.
Imaginei que, por mais que fosse AJAX, seria necessario atualizar a página.
Pois atualizei e nada aconteceu...resolvi mudar o endereço da url e entrar em outro site, para depois entrar lá de novo...e mais uma vez NADA!
Descobri que o único jeito de o IE atualizar a consulta é fechando a aba e abrindo outra e digitando o endereço outra vez.
No Firefox isso não está ocorrendo... Vou postar o código que estou usando...Obrigado pela atenção.
function requisicao_ajax_lista(pagina,index_img,id) //página, ação e tabela, respectivamente no crud
{
tabela = id;
page = pagina;
try
{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(ex)
{
try {
ajax = new XMLHttpRequest();
}
catch(exc)
{
alert("Esse browser não suporta Ajax");
ajax = null;
}
}
}
//----------
if (!ajax)
{
//Nao conseguiu instanciar o objeto xmlhttp para fazer as solicitacoes
alert("AJAX error. Your browser must support XMLHttpRequest object or enable use of scripting.");
}
if(ajax != null)
{
if (pagina=='actcrud.asp')
{
ajax.open('GET',pagina +'?acao='+ index_img + '&item=' + id ,true);// item=produto, categoria ou moderador;
ajax.setRequestHeader("Cache-Control", "no-cache");
ajax.setRequestHeader("Pragma", "no-cache");
ajax.onreadystatechange = status_ajax_lista;
ajax.send(null);
}
else
{
ajax.open('GET',pagina +'?index='+ index_img + '&id=' + id ,true);// index = número da primeira imagem a ser mostrada
ajax.setRequestHeader("Cache-Control", "no-cache");
ajax.setRequestHeader("Pragma", "no-cache");
ajax.onreadystatechange = status_ajax_lista;
ajax.send(null);
}
}
else
{
window.alert('Erro desconhecido!');
}
}
function status_ajax_lista()
{
if (ajax.readyState < 4)
{
if (page == 'produto.asp')
{
document.getElementById("zoom").innerHTML = "Carregando...";
}
else if(page=='actcrud.asp')
{
if (tabela== 'tabprodutos')
{
document.getElementById("delproduto").innerHTML= "Carregando";
}
else if (tabela == 'tabcategoria')
{
document.getElementById("delcategoria").innerHTML= "Carregando";
}
else if (tabela== 'moderador')
{
document.getElementById("delmoderador").innerHTML= "Carregando";
}
}
else
{
document.getElementById("imagens").innerHTML = "Carregando...";
}
}
if(ajax.readyState == 4 && ajax.status == 200)
{
retorno_ajax_lista(ajax.responseText);
}
}
function retorno_ajax_lista(response)
{
if (response == "404")
{
location.href= 'index.asp';
}
else if (page=='actcrud.asp')
{
if (tabela == 'tabprodutos')
{
document.getElementById("delproduto").innerHTML = response;
}
else if (tabela == 'tabcategoria')
{
document.getElementById("delcategoria").innerHTML = response;
}
else if(tabela == 'moderador')
{
document.getElementById("delmoderador").innerHTML = response;
}
}
else
{
if (page == 'produto.asp')
{
document.getElementById("zoom").innerHTML = response;
gerencialinks();
}
else
{
document.getElementById("imagens").innerHTML = response;
gerencialinks();
}
}
}
ESTOU OCULTANDO A FUNÇÃO gerencialinks() pois não é importante mostrá-la, afinal ela NÃO TEM AÇÃO NENHUMA NA PARTE QUE ESTOU CITANDO.
Carregando comentários...