begin process at 2012 05 29 15:57:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

Plantage site après quelques minutes AJAX


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Plantage site après quelques minutes AJAX

jeudi 15 octobre 2009 à 09:51:02 | Plantage site après quelques minutes AJAX

fabienfs

Membre Club Administrateur CodeS-SourceS

Bonjour,

Me voilà confronter à un soucis plutôt emmerdant : j'utilise de l'AJAX sur une page de mon site qui va chercher toutes les 20 secondes sur une autre page le titre et une petit image (50x50) de ce qui passe sur une webradio dans une base de données mysql.

Tout se passe bien, seulement quelques personnes se sont plaintes par rapport à un problème qui arrive que très rarement sur ma machine (plutôt performante).
En effet, sur les PC un peu moins récent visiblement : après quelques minutes resté sur la page qui va chercher le titre en AJAX, même si cette page est en background, après quelques minutes, c'est TOUT Internet Explorer qui plante. Obligé de terminer le processus. Il est complètement planté.

Comment pourrais-je arranger ce soucis ?
Avez-vous déjà eu le cas ?

Merci à vous,

A++

Fabien Schenkels (alias fabienfs)
jeudi 15 octobre 2009 à 10:07:56 | Re : Plantage site après quelques minutes AJAX

Bul3

Membre Club
Bonjour,
oui j'ai déjà eu au moins cas probablement semblable,
ça faisait planter tous les navigateurs d'ailleurs,
je ne me souviens plus quelle erreur je commettais.
sans plus d'infos, difficile de donner ( surtout
de penser à ) toutes les pistes envisageables
( ajax asynchrone et on n'attend pas correctement
le retour par exemple ! )
on peut voir un extrait ( l'appel ajax devrait
suffire ) ou avoir une adresse pour tester ?

enfin... pour moi si des bibliothèques de
fonctions ne sont pas utilisées, sinon :

Cordialement [mon Site] [M'écrire] Bul
jeudi 15 octobre 2009 à 10:12:39 | Re : Plantage site après quelques minutes AJAX

fabienfs

Membre Club Administrateur CodeS-SourceS
Heureusement qu'il est la Bul3 pour faire vivre cette commaunautée

Voici mon code JS :

Code Javascript :
function changeTitre()
{
  intervalID = setInterval(ShowTitle, 400000);
}

function ShowTitle()
{
	texte = file(racine_site +'ajax/titre_onair.php');
	document.getElementById("onair").innerHTML = texte;
	changeTitre();
}

function file(fichier)
{
	if(window.XMLHttpRequest) // FIREFOX
	xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
	xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
	return(false);
	xhr_object.open("GET", fichier, false);
	xhr_object.send(null);
	if(xhr_object.readyState == 4) return(xhr_object.responseText);
	else return(false);
}




Merci à toi,

A++

Fabien Schenkels (alias fabienfs)
jeudi 15 octobre 2009 à 10:28:53 | Re : Plantage site après quelques minutes AJAX

Bul3

Membre Club
Réponse acceptée !
>>Bul3 pour faire vivre cette commaunautée
bof... il y en a d'autres et bien plus compétents !
>>notre sujet :
donc, ça me semble normal !
tu fais des appels sans attendre le retour !
( setInterval : la fonction peut-être
relancée même si la précédente n'a pas
répondu, et ça ne plait pas toujours )

perso, je ferais cela en asynchrone
et ne relancerais que lorsque
la réponse est revenue

du style :
Code Javascript :
function ajax()
{
...
xml.onreadystatechange = function()
{ if(xml.readyState == 4)
  { traitement de la réponse
    setTimeout(ajax,40000);
  }
}
xml.open(....,true)
xml.send
}
jeudi 15 octobre 2009 à 10:48:40 | Re : Plantage site après quelques minutes AJAX

fabienfs

Membre Club Administrateur CodeS-SourceS
Ok je vois mieux le pourquoi du comment...

Code Javascript :
function ajax()
{
	if(window.XMLHttpRequest) // FIREFOX
	xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
	xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
	return(false);
	xhr_object.open("GET", racine_site +'ajax/titre_onair.php', false);
	xhr_object.send(null);
	if(xhr_object.readyState == 4){
   document.getElementById("onair").innerHTML = xhr_object.responseText;
   setTimeout(ajax(),40000);

  }
	else return(false);
}



Comme ceci ca te parait bien ?

A++

Fabien Schenkels (alias fabienfs)
jeudi 15 octobre 2009 à 10:53:16 | Re : Plantage site après quelques minutes AJAX

fabienfs

Membre Club Administrateur CodeS-SourceS

En fait, apparement le timeout ne marche plus dans le code juste au dessus car il ne rafraîchit plus mon titre :(

A++

Fabien Schenkels (alias fabienfs)
jeudi 15 octobre 2009 à 10:57:45 | Re : Plantage site après quelques minutes AJAX

Bul3

Membre Club
Réponse acceptée !
pas tout à fait
_ le test de readyState==4 doit être fait
dans une fonction activée lors du onreadystatechange
_ 3ème paramètre open = true pour asynchrone
_ setTimeout(ajax,40000);
pas testé, il reste peut-être des erreurs
Code Javascript :
function ajax()
{	if(window.XMLHttpRequest) // FIREFOX ou IE>=7
	xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE ( les vieilles version et pas toutes )
	xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
	return(false);
	xhr_object.onreadystatechange = function()
	{ 	if(xml.readyState == 4)
		{	document.getElementById("onair").innerHTML = xhr_object.responseText;
			setTimeout(ajax,40000);
		}
	}
	xhr_object.open("GET", racine_site +'ajax/titre_onair.php', true);
	xhr_object.send(null);
}


jeudi 15 octobre 2009 à 10:59:32 | Re : Plantage site après quelques minutes AJAX

Bul3

Membre Club
il fallait "bien entendu" lire :
Code Javascript :
xhr_object.onreadystatechange = function()
{ if(xhr_object.readyState == 4)
mais c'est parti trop vite,
sans préjuger du reste !
jeudi 15 octobre 2009 à 11:04:50 | Re : Plantage site après quelques minutes AJAX

fabienfs

Membre Club Administrateur CodeS-SourceS
Il charge bien la première fois au démarrage du script mais après il ne refraîchit plus > Le TimeOut n'a pas l'air de contionner... Pourtant il a du se lancer vu qu'il y a bien eu un innerHTML au premier lancement du script...

A++

Fabien Schenkels (alias fabienfs)
jeudi 15 octobre 2009 à 11:06:14 | Re : Plantage site après quelques minutes AJAX

Bul3

Membre Club
Réponse acceptée !
on se croise...
>>timeout ne marche plus
oui, oui

° setTimeout(ajax,40000);
s'il y a des paramètres :
° setTimeout( function() { fonctions(paramètres); }, délai );

setTimeout("ajax();",40000); à éviter dit-on et
setTimeout(ajax(),40000); pas la bonne syntaxe
ça doit donner une erreur même.... non ?

1 2 3

Cette discussion est classée dans : page, site, minutes, ajax, plantage


Répondre à ce message

Sujets en rapport avec ce message

Problème ajax [ par blanka12 ] Bonjour, [INDENT][/INDENT]j'ai un site de vente. [INDENT][/INDENT]Je change et je rajoute très souvent une photo, un texte, etc... Ce que je veux : creation d'une page pour poster des articles [ par GMC38 ] Bonjour a tous, je debute est je crée un site. J'aimerais avoir une page privée sur ce site et pouvoir poster des articles sur une page spécifiqueun p recherche automatique ave Ajax [ par cyrilherve ] bonjour à tous, je developpe des applis web avec php/mysql et un peu de java, mais j' avoue que ajax est vraiment inconnu pour moi. la je boss sur une [Langage ?] Problème script sur mon site [ par ayem11 ] Bonjour, je vien me renseigner et demander de l'aide car, j'ai ouvert un site de voyance en ligne, j'ai obtenu des script, pour le chat, et le plann Rechercher dans une page externe a mon site [ par rolodo ] Bonjour, j'explique mon problème Tout d'abord je veux faire un site compatible avec [b]Internet Explorer[/b] ([u]pas besoin des autres[/u], je fais u menu dynamique [ par 21pc ] Bonjour j'ai adapté un script pour un menu perso mais il ouvre un site avec chaque option. Est-il possible de le modifier pour ouvrir directement une chargement de page avec Ajax [ par paillon ] bonsoir à tous [^^happy13] J'aimerais bien me dire si ce code envoyé avec ce message il est bien utile pour le chargement de formulaires si c'est oui rafraichir page au clic sur un onglet [ par fog8 ] Bonjour tout le monde, J'ai un problème avec mon site. J'ai une fonction qui bloque le compte lorsque l'utilisateur a tenté de se connecter plus de t génération des histogrammes [AJAX] [ par sciencemp ] onjour à tous, Je vous contact car j'ai besoins d'un coups de main par rapport à un script que j'essaye de faire le questions est: je veux ajouter u Erreur 403 [ par amateurjava ] Bonjour, j'ai crée un site fonctionnant avec ajax En local (serveur WAMP debian avec postes locaux) tout est ok Je l'ai mis en ligne chez un héberg


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales