11548 sujets

JavaScript, DOM et API Web HTML5

Bonjours à toutes et à tous,

Voilà, j'ai écrit un code qui se rappel automatiquement avec le setTimeOut toutes les 30 secondes.

un petit exemple :


function coucouJeSuisLaFonction(){
    setTimeout(function(){coucouJeSuisLaFonction();},30000);

    $.ajax({
	type: "POST",
	url: MethodeAAppeler,
	type: "POST",
	data: ({Web_donneesAJAX:string}),
	dataType: "text",
	async:true,
	success:
	      function(data){
                  alert('hello world');
              }
     });
}


Donc, bon on est d'accord, dans ce cas là c'est un exemple, dans mon vrai code il y beaucoup plus de données Smiley smile .

Le soucis c'est que pendant imaginons peut-être 5 - 10 minutes le code tourne bien, et d'un coup, le data que je reçois, n'as plus aucune signification, je reçois "[<!DOCTYPE html PUBLIC "-] ......." Enfin bref, une page html quoi.

Es-ce que quelqu'un a déjà eu ce genre de problème ?

Merci pour vos idées, infos Smiley smile

A plus

Tidus
Regarde bien ta réponse, et surtout le code d'erreur retournée!

Sinon personnelement je mettrai le rappel de la fonction dans le success...

Et meme si je ne suis pas sûr que ca chance quelque chose je ferai mon setTimeout de la forme :
setTimeout(coucouJeSuisLaFonction, 30000);
Ba disons que justement... Je n'ai pas de code d'erreur qui ai été retourné Smiley biggol

Pour ce qui est du rappel, je suis obligé de faire comme ça, car en faite la requête vas aller récupérer des infos (donc pour actualiser les infos et savoir s'il y en a des nouvelles je suis obligé de le faire avant, sinon je travail toujours avec les mêmes données Smiley smile )

déjà testé le setTimeOut sous plusieurs formes ^^ celle que j'ai faite semble être la plus concluante, même s'il y a d'autres moyens de l'utiliser Smiley smile

Ce qui m'énerve c'est surtout, pourquoi es-ce que sa fonctionne pendant un bon moment et qu'au bout de x temps, (même si on fait rien) le script reçoit une page html...
Oublie la partie ou je parles d'appeler le setimeout dans le success Smiley smile je disais n'importe quoi, j'ai mal compris Smiley biggol
J'ai compris d'où provenait mon problème...

Ma collègue s'amuse avec la BDD en même temps que je travail, merci pour les réponses en tout cas, et pour l'idée du setimeout dans le success c'est vraiment pas bête, ça évite d'empiler les erreurs Smiley biggol

Merci bien

A+

Tidus
^^ De rien.

Juste pour info, ta facon d'utiliser setTimeout est la bonne si tu dois passer des paramètres dynamiques Smiley smile

Bonne continuation!
salut
j'ai integré dans ma page web un script jquery qui sert à afficher une popup personnalisée. j'arrive pas maintenant à faire apparaitre cette popup apres un timing de 10s j'utilise la fonction set time out mais ça marche pas et je trouve pas l'erreur. pouvez vous m'aidez??
voici le code jauery:
$(document).ready(function () {



//Lorsque vous cliquez sur un lien de la classe poplight et que le href commence par #

$('a.poplight[href^=#]').click(function () {

var popID = $(this).attr('rel'); //Trouver la pop-up correspondante

var popURL = $(this).attr('href'); //Retrouver la largeur dans le href



//Récupérer les variables depuis le lien

var query= popURL.split('?');

var dim= query[1].split('&');

var popWidth = dim[0].split('=')[1]; //La première valeur du lien



//Faire apparaitre la pop-up et ajouter le bouton de fermeture

$('#' + popID).fadeIn().css({

'width': Number(popWidth)

})

.prepend('');



//Récupération du margin, qui permettra de centrer la fenêtre - on ajuste de 80px en conformité avec le CSS

var popMargTop = ($('#' + popID).height() + 80) / 2;

var popMargLeft = ($('#' + popID).width() + 80) / 2;



//On affecte le margin

$('#' + popID).css({

'margin-top' : -popMargTop,

'margin-left' : -popMargLeft

});



//Effet fade-in du fond opaque

$('body').append(''); //Ajout du fond opaque noir

//Apparition du fond - .css({'filter' : 'alpha(opacity=80)'}) pour corriger les bogues de IE

$('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn();



return false;

});





//Fermeture de la pop-up et du fond

$('a.close, #fade').live('click', function () { //Au clic sur le bouton ou sur le calque...

$('#fade , .popup_block').fadeOut(function () {

$('#fade, a.close').remove(); //...ils disparaissent ensemble

});

return false;

});

});