Dois problemas estranhos com método .load() Jquery /Ajax [RESOLVIDO]

1. Dois problemas estranhos com método .load() Jquery /Ajax [RESOLVIDO]

Gordon Freeman
GordonFreeman

(usa Ubuntu)

Enviado em 26/07/2012 - 16:33h

Boa tarde pessoal estou com dois problemas que estão me tirando o sono, os dois são relacionados ao método load () Ajax/Jquery .O primeiro é em relação a diretórios, o método load() não carrega páginas que estão em diretórios diferentes , só carrega se estiver no mesmo diretório onde está a página que contem o load (), exemplo se eu tivesse uma página de acordo com o seguinte :
 $("#paginas").load('projetos/pagina1.html');   

pagina1.html não seria carregada, agora se eu fizer :
 $("#paginas").load('pagina1.html');  

a página é carregada sem problema mas aí fica bem estranho e desorganizado, páginas PHP, html e CSS tudo misturado no mesmo diretório, horrivel.Gostaria de organizar tudo nas pastas mas o load não está lendo fora do diretório principal.Outro problema é que quando altero uma página o load continua carregando a página antiga mesmo ela não existindo pois foi modificada , isso é muito estranho pois não sei onde ele busca essa página , mesmo atualizando com F5 ele carrega a página antiga antes de ser modificada, parece que ele guarda essa página antiga em um cash sei lá, e não atualiza.
Código completo:

<script type="text/javascript" >
$(document).ready(function() {
$("#link1").click(function(event) {
$("#paginas").load('projetos/pagina1.html');
$("#topo").load('topo.html');
});
})
</script>


Desde já obrigado pessoal.


  


2. MELHOR RESPOSTA

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 27/07/2012 - 00:22h

Tenho um script que faz exatamente isso e funciona ;-)

Bom no caso da localização do arquivo carregado pelo load, lembre-se que o mesmo deve obedecer o caminho do servidor a partir da raiz, então deve existir um ...site/projetos/arquivoalvo uma alternativa para resolver de vez esse problema é usar:


...load('http://dominio.com.br/projetos/arquivoalvo')



No caso do cache, essa pode realmente está sendo carregada em cache, tente colocar o cache: false antes de usar o .load():


$.ajaxSetup({cache: false});


* a mudança acima afeta todas as requisições ajax posteriores, então se isso não for desejável, prefira usar:


$.ajax({
url: 'arquivo.php,
cache: false,
success: function(retorno){
$('#conteudo').append(retorno);
}
});


No código acima, apenas essa requisição será afetada pelo cache: false...

3. Re: Dois problemas estranhos com método .load() Jquery /Ajax [RESOLVIDO]

Gordon Freeman
GordonFreeman

(usa Ubuntu)

Enviado em 27/07/2012 - 08:59h

Rapaz muito obrigado pela ajuda eu já estava ficando até desanimado porque ninguém sabia ao certo que tipo de problemas eram esses , esse tópico está em outros fórum e nada do problema ser resolvido, bom eu não implementei ainda pois vi sua msg agora, mas vou implementar já.Bom, uma última dúvida em relação aos diretórios é que ainda não tenho dominio, estou rodando localmente no XAMPP, a estrutura dos diretórios é o seguinte :
 C:\xampp\htdocs\projetos\paginas\pagina1.html 
.Meu index.php onde existe a requisição ajax está dentro de projetos, como chamar então página1 e funcionar corretamente ? outro problema se O CSS da página não estiver tb no diretório principal ele não é carregado e a página é carregada sem formatação.Desde já muito obrigado, vlw mesmo.


4. Re: Dois problemas estranhos com método .load() Jquery /Ajax [RESOLVIDO]

Gordon Freeman
GordonFreeman

(usa Ubuntu)

Enviado em 27/07/2012 - 10:01h

rai3mb escreveu:

Tenho um script que faz exatamente isso e funciona ;-)

Bom no caso da localização do arquivo carregado pelo load, lembre-se que o mesmo deve obedecer o caminho do servidor a partir da raiz, então deve existir um ...site/projetos/arquivoalvo uma alternativa para resolver de vez esse problema é usar:


...load('http://dominio.com.br/projetos/arquivoalvo')



No caso do cache, essa pode realmente está sendo carregada em cache, tente colocar o cache: false antes de usar o .load():


$.ajaxSetup({cache: false});


* a mudança acima afeta todas as requisições ajax posteriores, então se isso não for desejável, prefira usar:


$.ajax({
url: 'arquivo.php,
cache: false,
success: function(retorno){
$('#conteudo').append(retorno);
}
});


No código acima, apenas essa requisição será afetada pelo cache: false...


Huuuuuu...sem palavras , o código $.ajaxSetup({cache: false}); funcionou perfeitamente, agora quando eu modifico a página e salvo, essa mudança se reflete no load () que carrega a nova página, não a antiga .Agora é só o lance do diretório, e tem outro problema em relação ao CSS tb , se eu chamar uma página e o CSS não estiver no diretório principal não carrega tb.
Cara tenho muito a agradecer, valeu mesmo.Abraço.


5. Re: Dois problemas estranhos com método .load() Jquery /Ajax [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 27/07/2012 - 11:02h

Suas páginas estão dentro de projetos, então ele é seu diretório principal, e os demais locais podem ser referenciados diretamente sem ele, exemplo:

C:\www\projetos\css\estilo.css


<link href="css/estilo.css" type="text/css" rel="stylesheet" />


e no seu load:


....load('paginas/arquivoalvo.html')


No caso do dominio completo, basta usar


....load('http://localhost/projetos/paginas/arquivoalvo.html')



6. Re: Dois problemas estranhos com método .load() Jquery /Ajax [RESOLVIDO]

Gordon Freeman
GordonFreeman

(usa Ubuntu)

Enviado em 27/07/2012 - 12:09h

rai3mb escreveu:

Suas páginas estão dentro de projetos, então ele é seu diretório principal, e os demais locais podem ser referenciados diretamente sem ele, exemplo:

C:\www\projetos\css\estilo.css


<link href="css/estilo.css" type="text/css" rel="stylesheet" />


e no seu load:


....load('paginas/arquivoalvo.html')


No caso do dominio completo, basta usar


....load('http://localhost/projetos/paginas/arquivoalvo.html')


rai3mb muito obrigado, estava a três dias tentando resolver esse problema e sua dicas salvaram minha vida rsrrs. O lance dos diretórios e as páginas também está resolvido , agora mesmo só o CSS das páginas não carrega , não sei o que está ocorrendo .O diretório está assim :
projetos/paginas/arquivoalvo.html    
a página que contem o .load () está em "projetos" ela está chamando uma página que está em " paginas " o CSS dessa página tb está está em "paginas" e nem está em pasta separada tipo estilo/estilo.css, mesmo assim não carrega , estou tendo que colocar o CSS embutido na página mas existem umas 40 páginas aí é gambiarra , só está faltando isso para ficar 100% o problema é que já estou tão estressado com isso que nem consigo mais pensar no que pode estar ocorrendo rsrrs .Valeu de novo Brother, abraço.


7. Re: Dois problemas estranhos com método .load() Jquery /Ajax [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 27/07/2012 - 12:18h

Vc esta colocando seu css no head do seu index ? O ideal é fazer isso.

Se está colocando e não está sendo achado o arquivo, clique com o botão direito na página e peça para ver o código fonte, depois clique no link do css e veja se aparece que o arquivo não foi encontrado...

eu faço um simples:


<head>
<link href="views/css/estilo.css" type="text/css" rel="stylesheet" />
<link href="views/css/estilos_complementares.css" type="text/css" rel="stylesheet" />
</head>



8. Re: Dois problemas estranhos com método .load() Jquery /Ajax [RESOLVIDO]

Gordon Freeman
GordonFreeman

(usa Ubuntu)

Enviado em 27/07/2012 - 13:23h

rai3mb escreveu:

Vc esta colocando seu css no head do seu index ? O ideal é fazer isso.

Se está colocando e não está sendo achado o arquivo, clique com o botão direito na página e peça para ver o código fonte, depois clique no link do css e veja se aparece que o arquivo não foi encontrado...

eu faço um simples:


<head>
<link href="views/css/estilo.css" type="text/css" rel="stylesheet" />
<link href="views/css/estilos_complementares.css" type="text/css" rel="stylesheet" />
</head>


Putz como sou amador ainda , tenho muito que aprender rsrsr.Problema 100% resolvido adicionei o link do CSS no index como vc disse e agora a página vem com a formatação correta, aliás nem é necessário agora, adicionar o CSS na página que é chamada, pois o CSS é carregado da index.
rai3mb sem palavras Brother, muito obrigado mesmo, eu estava ficando estressado com isso , estou começando agora e ainda não tenho essas manhas todas de um programador experiente.Valeu mesmo, obrigado pela atenção e por compartilhar seu conhecimento numa boa.Grande abraço.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts