Ir para conteúdo

POWERED BY:

Arquivado

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

Matheus Weber

Método load() não funciona no IE

Recommended Posts

Tipo, tá funcionando em todos os navegadores, exceto no IE...

 

Segue o código:

 

$(document).ready(function(){
var parametro = $('#ajax').attr('class');
$('#ajax').load('ajax/imoveis.php?'+parametro);

});

 

Bem simples, mas não funciona ¬¬

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe me, esqueci de perguntar: qual a versão do jQuery? Se for uma antiga, tente atualizar para a mais recente.

 

-

 

 

Verifique se não há nenhum erro javascript no console do IE:

 

No IE8, instale a ferramenta para desenvolvedores (é o equivalente ao Firebug para o FF):

http://www.microsoft.com/en-us/download/details.aspx?id=18359

 

O IE9 já vem com essa ferramenta.

 

Ela fica acessível através da tecla F12 em ambas as versões.

 

Procure no Console se não foi registrado nenhum erro.

 

-

 

Debugar:

 

$(document).ready(function(){

var parametro = $('#ajax').attr('class');

console.log("O valor de 'parametro' é: " + parametro);

$("#ajax").load("ajax/imoveis.php?" + parametro, function(response, status, xhr) {
 if (status == "error") {
   var msg = "Ocorreu um erro: (" + xhr.status + ") " + xhr.statusText;

   console.log(msg);

   // se não funcionar, use alert(msg);
 } else {
   console.log("Não ocorreu nenhum erro: " + status);
 }
 console.log("A resposta do servidor foi: " + response);
});



});

 

Teste nos outros navegadores primeiro para ver se não há nenhum erro de sintaxe, pois não testei o código acima, apenas foi digitando aqui...

 

-

 

Mais uma coisa:

 

Isso está correto...?

"ajax/imoveis.php?" + parametro

 

Não deveria ser algo como...?

"ajax/imoveis.php?parametro=" + parametro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente usar outro método, como .ajax ou .get:

 

$.ajax({
 url: 'ajax/imoveis.php?' + parametro,
 success: function(data) {
   $("#ajax").html(data);
 }
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda não...

 

Segue os códigos abaixo:

 

O Load dentro do ready:

 

var parametro = $('#ajax').attr('class');
$('#ajax').load('ajax/imoveis.php?'+parametro);

 

A página onde monta a div, php:

 

if(!isset($_REQUEST['finalidade'])){

	echo '<div id="ajax" class="finalidade=aluguelvenda">';

	echo '</div>';
}
if(isset($_REQUEST['finalidade'])){

	$cidade = $_REQUEST['cidade'];
	$categoria = $_REQUEST['categoria'];
	$cont = $_REQUEST['cont'];
	$deValor = $_REQUEST['deValor'];
	$ateValor = $_REQUEST['ateValor'];
	$deValor1 = $_REQUEST['deValor1'];
	$ateValor1 = $_REQUEST['ateValor1'];
	$dormitorios = $_REQUEST['dormitorios'];
	$garagens = $_REQUEST['garagens'];
	$finalidade = $_REQUEST['finalidade'];
	$variavel = 'finalidade='.$finalidade;

	if(!empty($cidade)){
			$variavel .= '&cidade='.$cidade;
		}
		if(!empty($categoria)){
			$variavel .= '&categoria='.$categoria;
		}
		if($cont>0){
			for($i=0;$i<$cont;$i++){
				$variavel .= '&bairro'.$i.'='.$_REQUEST['bairro'.$i];	

			}
			$variavel .= '&cont='.$i;


		}
		if($finalidade=='venda'){
		$variavel .= '&finalidade=venda&deValor1='.$deValor1.'&ateValor1='.$ateValor1;
		}else if($finalidade=='aluguelvenda'){
			 $variavel .= '&finalidade=aluguelvenda&deValor='.$deValor.'&ateValor='.$ateValor;
		}else $variavel .= '&finalidade=aluguel&deValor='.$deValor.'&ateValor='.$ateValor;
		if(!empty($dormitorios)){
			$variavel .= '&dormitorios='.$dormitorios;
		}
		if(!empty($garagens)){
			$variavel .= '&garagens='.$garagens;
	}
	echo '<div id="ajax" class="'.$variavel.'">';
	echo '</div>';

}

 

 

E aqui a página que é carregada na div:

 


<script>
$(document).ready(function(){
$('#paginaAnterior').click(function(){

	var where = $(this).attr('class');
	var pagina = $(this).attr('name');
	var parametro = where+'&pagina='+pagina;
	$('#carregando').show();
	$('#ajax').load('ajax/imoveis.php?'+parametro);


});

$('#proximaPagina').click(function(){
	var where = $(this).attr('class');
	var pagina = $(this).attr('name');
	var parametro = where+'&pagina='+pagina;
	$('#carregando').show();
	$('#ajax').load('ajax/imoveis.php?'+parametro);


});
$('#paginaAnterior1').click(function(){

	var where = $(this).attr('class');
	var pagina = $(this).attr('name');
	var parametro = where+'&pagina='+pagina;
	$('#carregando').show();
	$('#ajax').load('ajax/imoveis.php?'+parametro);


});

$('#proximaPagina1').click(function(){
	var where = $(this).attr('class');
	var pagina = $(this).attr('name');
	var parametro = where+'&pagina='+pagina;
	$('#carregando').show();
	$('#ajax').load('ajax/imoveis.php?'+parametro);


});
});
</script>

<div id="carregando" style="display:none;">
Carregando...

</div>
<div id="ajax1">

<?php
include('inc.configdb.php');
if(isset($_REQUEST['finalidade'])){
	$finalidade = $_REQUEST['finalidade'];
	$cidade = $_REQUEST['cidade'];
	$categoria = $_REQUEST['categoria'];
	$cont = $_REQUEST['cont'];
	$deValor = $_REQUEST['deValor'];
	$ateValor = $_REQUEST['ateValor'];
	$deValor1 = $_REQUEST['deValor1'];
	$ateValor1 = $_REQUEST['ateValor1'];
	$dormitorios = $_REQUEST['dormitorios'];
	$garagens = $_REQUEST['garagens'];
	$codigo = $_REQUEST['codigo'];
	$finalidade = $_REQUEST['finalidade'];
	if(!empty($cidade)){
			$variavel .= '&cidade='.$cidade;
			$where .= ' and idCidade = '.$cidade;
		}
		if(!empty($categoria)){
			$variavel .= '&categoria='.$categoria;
			$where .= ' and idCategoria = '.$categoria;
		}
		if($cont>0){
			for($i=0;$i<$cont;$i++){
				if($_REQUEST['bairro'.$i]=='todos') break;
				if($_REQUEST['bairro'.$i]>0){
					$variavel .= '&bairro'.$i.'='.$_REQUEST['bairro'.$i];
					if($i==0) $where .= ' and idBairro = '.$_REQUEST['bairro'.$i];
					else $where .= ' or idBairro = '.$_REQUEST['bairro'.$i];
				}
			}
			$variavel .= '&cont='.$cont;

		}
		if($finalidade=='venda'){
			if(empty($deValor1)) $deValor1=0;
			if(empty($ateValor1)) $ateValor1=100000000;
			$variavel .= '&finalidade=venda&deValor1='.$deValor1.'&ateValor1='.$ateValor1;
			$where .= ' and imo_finalidade = 1 and imo_valor > '.$deValor1.' and imo_valor<'.$ateValor1;
		}else if($finalidade=='aluguel'){
			if(empty($deValor)) $deValor=0;
			if(empty($ateValor)) $ateValor=100000000;
			 $variavel .= '&finalidade=aluguel&deValor='.$deValor.'&ateValor='.$ateValor;
			$where .= ' and imo_finalidade = 2 and imo_valor > '.$deValor.' and imo_valor<'.$ateValor;
		}else{

		 if(empty($deValor)) $deValor=0;
			if(empty($ateValor)) $ateValor=100000000;
			 $variavel .= '&finalidade=aluguelvenda&deValor='.$deValor.'&ateValor='.$ateValor;
			$where .= ' and imo_finalidade = 2 or imo_finalidade=1 and imo_valor > '.$deValor.' and imo_valor<'.$ateValor;
}
		if(!empty($dormitorios)){
			if($dormitorios>0){
			$variavel .= '&dormitorios='.$dormitorios;
			$where .= ' and imo_dormitorios = '.$dormitorios;
			if($dormitorios==4) $where .= ' and imo_dormitorios > '.$dormitorios;
			}

		}
		if(!empty($garagens)){
			if($garagens>0){
			$variavel .= '&garagens='.$garagens;
			$where .= ' and imo_garagem = '.$garagens;
			if($dormitorios==3) $where .= ' and imo_garagem > '.$garagens;
			}
		}




}

$limite = 9;
$i=0;
if(isset($_REQUEST['pagina'])){
	$limite1 = ($_REQUEST['pagina']-1)*$limite;
	$limite2 = $limite1+$limite;	

}else{
	$limite1 = 0;
	$limite2 = $limite;
}

$Query = @mysql_query("Select * from imovel where idImovel>0 $where order by idImovel desc, imo_destaque desc $order limit $limite1,$limite2") or die(mysql_error());
$Query1 = @mysql_query("Select * from imovel where idImovel>0 $where order by idImovel desc, imo_destaque desc ") or die(mysql_error());
$num = mysql_num_rows($Query1);
if(!isset($_REQUEST['pagina'])){
	$paginaAtual=1;	

}else $paginaAtual=$_REQUEST['pagina'];

	$nroPaginas = ceil($num/$limite);	
	$paginaAnterior = $paginaAtual-1;
	$proximaPagina = $paginaAtual+1;
	echo '<div class="paginador">';
	if($paginaAtual>1){
		echo '<a href="javascript://;" class="'.$variavel.'" name="'.$paginaAnterior.'" id="paginaAnterior">Anterior</a>';
	}
	if($nroPaginas==0) $nroPaginas=1;
	echo ' | Página '.$paginaAtual.' de '.$nroPaginas.' | ';
	if($paginaAtual<$nroPaginas){
		 echo '<a href="javascript://;" class="'.$variavel.'" name="'.$proximaPagina.'" id="proximaPagina">Próxima</a>';
	}
	echo '</div>';
if($num>0){
	while($Resultado = mysql_fetch_array($Query)){
		if($i==$limite) break;
		$i++;

		$imo_titulo = utf8_decode($Resultado['imo_titulo']);
		$imo_finalidade = $Resultado['imo_finalidade'];
		$imo_descricao = strip_tags($Resultado['imo_descricao']);
		if(strlen($imo_descricao)>115) $imo_descricao = substr($imo_descricao,0,112).'...';
		$imo_valor = number_format($Resultado['imo_valor'],2,',','.');


		$idImovel = $Resultado['idImovel'];
		$idCategoria = $Resultado['idCategoria'];
		$Query8 = @mysql_query("Select * from img_imovel where idImovel = '$idImovel' and principal=1 order by idImg_imovel desc limit 1") or die(mysql_error());
		$num1 = mysql_num_rows($Query8);
		if($num1==0){
			$Query8 = @mysql_query("Select * from img_imovel where idImovel = '$idImovel' order by idImg_imovel desc limit 1") or die(mysql_error());
		}
			while($Resultado = mysql_fetch_array($Query8)){
				$idImg_imovel = $Resultado['idImg_imovel'];	

			}
		$sql = "Select * from img_imovel where idImovel = '$idImovel' order by idImg_imovel desc limit 1";
		$res = mysql_query($sql) or die(mysql_error());
		$num = mysql_num_rows($res);
		$foto = '';
		if($num>0){
		$idImg_imovel = mysql_result($res,0,'idImg_imovel');	
		$foto = 'fotos/'.$idImovel.'_'.$idImg_imovel.'_thumb.jpg';
		}else $foto = 'img/semfoto.jpg';




		$Query1 = @mysql_query("Select * from categoria where idCategoria = '$idCategoria' limit 1") or die(mysql_error());
		while($Resultado = mysql_fetch_array($Query1)){
			$cat_tipo = utf8_decode($Resultado['cat_tipo']);	

		}
		if($i==1 || $i==4 || $i==7){
			echo '<div class="tresImoveis">';
		}
		echo ' <div class="imovel">';
		echo '<a href="detalhesimovel.php?idImovel='.$idImovel.'"><img src="'.$foto.'" /></a>';
		echo '<h3> '.$cat_tipo.' </h3>';

		if($imo_finalidade==1) $finalidade = 'Venda';
		else $finalidade = 'Aluguel';
		echo ' <span class="preco"> '.$finalidade.' | R$ '.$imo_valor.' </span>';
		echo ' <p>'.$imo_descricao.'</p>';
		echo '</div>';
		if($i==3 || $i==6 || $i==9){
			echo '</div>';
		}


	}


	echo '</div>';	
}
else echo 'Nenhum imóvel encontrado com esses termos, tente novamente.';
$Query1 = @mysql_query("Select * from imovel where idImovel>0 $where order by idImovel desc, imo_destaque desc ") or die(mysql_error());
	$limite = 9;
$i=0;
if(isset($_REQUEST['pagina'])){
	$limite1 = ($_REQUEST['pagina']-1)*$limite;
	$limite2 = $limite1+$limite;	

}else{
	$limite1 = 0;
	$limite2 = $limite;
}

	$num = mysql_num_rows($Query1);
if(!isset($_REQUEST['pagina'])){
	$paginaAtual=1;	

}else $paginaAtual=$_REQUEST['pagina'];

	$nroPaginas = ceil($num/$limite);

	$paginaAnterior = $paginaAtual-1;
	$proximaPagina = $paginaAtual+1;
	echo '<div class="paginador">';
	if($paginaAtual>1){
		echo '<a href="javascript://;" class="'.$variavel.'" name="'.$paginaAnterior.'" id="paginaAnterior">Anterior</a>';
	}
	if($nroPaginas==0) $nroPaginas=1;
	echo ' | Página '.$paginaAtual.' de '.$nroPaginas.' | ';
	if($paginaAtual<$nroPaginas){
		 echo '<a href="javascript://;" class="'.$variavel.'" name="'.$proximaPagina.'" id="proximaPagina">Próxima</a>';
	}
	echo '</div>';











?>


</div>

 

Eu achei que poderia ser algo por causa das id's, entao tinha trocado tudo pra class, e as class pra rel, mas não funcionou tb no IE, embora tenha funcionado em todos os outros tb...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora tá funcionando no IE9, mas não no 8 =/

 

Mas a requisição é executada, você tem status "success" no IE8?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Suponho também que 'response' (v. post #4) também veio com os valores retornados pelo arquiv PHP no IE8. Então o erro está isolado no momento de passar esse valor para o elemento #ajax.

 

Então verifique se no IE8 o elemento Ajax foi retornado pelo jQuery

 

alert($("#ajax"));

 

 

Você tentou usar os métodos $.ajax e $.get?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retorna nos demais navegadores, mas não no IE 8, certo?

 

E se você usar document.getElementById e depois colocar isso no contêiner do jQuery "$('')"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara..testa assim...

 

$.ajaxSetup({cache:false})

setInterval("$('#ajax').load('http://domain/file.php')", 20000);

 

 

Acredito que voce deve alterar o cache para false, isso irá funcionar no IE....So nao vai rolar no IECA 7.]]

 

Good Luck!!!

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.