Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá! Então, a minha dúvida é a seguinte: eu preciso chamar um jQuery para dar um .load() dentro de uma div. Até aí tudo bem, já consigo fazer isso. O problema é que eu preciso chamar esse jQuery num intervalo de 30 segundos, indefinidamente. Para isso, preciso utilizar o setInterval(), do javascript. Mas não to conseguindo executar o jQuery de dentro deste setInterval().
Existe algum jeito para isso?
O meu código:
setInterval(function(){
$('#qpc').load('/pagina.php');
}, 30000);Olá,
Algum erro ao tentar executar? Qual?
Nada, nenhum erro. A única coisa é que não carrega a página que eu indico. Vou tentar algumas coisas novas que acabei de achar no google e qualquer coisa posto aqui de novo!
OBS: Quando eu testo com um iframe funciona:
function foo(){
$("#qpc").attr("src","/pagina.php");
setTimeout(foo, 3000);
}
Quando eu testo com uma <div>, nada carrega:
function foo(){
$("#qpc").load("https://www.fabricademicro.com.br/qnt_prods_car.php");
setTimeout(foo, 3000);
}
Sinceramente sou incapaz de ver qualquer erro no script. Se alguém conseguir achar, vai me ajudar MUITO! Nunca pensei que uma coisa que deveria ser tão simples tá me dando essa dor de cabeça.
Problema resolvido. Magicamente o troço resolveu funcionar, depois de dar F5 mais de trinta vezes. Coisa de doido. Assim funcionou:
function foo(){
$("#qpc").load("https://www.fabricademicro.com.br/qnt_prods_car.php");
setTimeout(foo, 3000);
}
Brigado mesmo pela dica da função recursiva com timeout!
Normalmente, era para funcionar.
Tente criar uma função ao invés de criar uma função anônima anonima.
Ou, função recursiva com timeout, algo assim: