Ajax rafraîchir/actualiser un div

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ajax rafraîchir/actualiser un div

par cooolseb » 25 mai 2007, 17:11

Si tu n'as rien à envoyer, fait xhr_object.send("");
je dirais même plus : xhr_object.send(null);
Tout fonctionne à présent !!
J'ai testé les deux et le script fonctionne correctement avec l'un ou l'autre et il n'y a aucun message d'erreur.

Merci beaucoup !

A+,

Seb.

Je laisse ci-dessous le code corrigé
****************************************************************
FICHIER JS

Code : Tout sélectionner

function refresh_div() { aleatoire = Math.random(); var xhr_object = null; if(window.XMLHttpRequest) { // Firefox xhr_object = new XMLHttpRequest(); } else if(window.ActiveXObject) { // Internet Explorer xhr_object = new ActiveXObject('Microsoft.XMLHTTP'); } var method = 'GET'; var filename = 'mon_script.php?a='+escape(aleatoire); xhr_object.open(method, filename, true); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { var tmp = xhr_object.responseText; document.getElementById('Id_de_ma_div').innerHTML = tmp; } } xhr_object.send(null); setTimeout('refresh_div()', 60000); } </script>
BODY

Code : Tout sélectionner

<body onload='refresh_div();'> <div id"Id_de_ma_div"></div> (Div à placer à l'endroit où l'on veut affiche mon_script.php) ... ... </body>

par Shrell » 25 mai 2007, 13:47

je dirais même plus :

Code : Tout sélectionner

xhr_object.send(null);

par Sékiltoyai » 25 mai 2007, 07:38

Si tu n'as rien à envoyer, fait xhr_object.send("");

par cooolseb » 25 mai 2007, 06:46

Salut Sékiltoyai,

J'ai mis une alert et celle-ci ne me donne pas de réponse :?
J'en ai profité de faire un test d'alert ailleurs et je n'obtiens aucune alert sous Firefox !

J'ai comme l'impression que le script n'est même pas lu et je ne comprend pas pourquoi.


*edit*
Parcontre, dans la console d'erreur du navigateur j'ai :

Code : Tout sélectionner

Erreur : uncaught exception: [Exception... "Not enough arguments" nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location: "JS frame :: http://.../scripttest.php :: charge :: line 44" data: no]
Ce qui corrrespond à cette ligne :

Code : Tout sélectionner

xhr_object.send();

par Sékiltoyai » 25 mai 2007, 00:58

Fait un alert("test"); dans ce bloc :

Code : Tout sélectionner

if(xhr_object.readyState == 4) { var tmp = xhr_object.responseText; document.getElementById('Id_de_ma_div').innerHTML = tmp; }
Et teste avec Firefox...

Ajax rafraîchir/actualiser un div

par cooolseb » 24 mai 2007, 23:59

Bonjour,

Voici quelques jours que je cherche à savoir pour quelle raison le script ci-dessous ne fonctionne pas avec Firefox.

Quelqu'un aurait-il une petite idée d'où peux provenir le problème ?
Merci d'avance.

Voici le script :

FICHIER JS

Code : Tout sélectionner

function refresh_div() { aleatoire = Math.random(); var xhr_object = null; if(window.XMLHttpRequest) { // Firefox xhr_object = new XMLHttpRequest(); } else if(window.ActiveXObject) { // Internet Explorer xhr_object = new ActiveXObject('Microsoft.XMLHTTP'); } var method = 'GET'; var filename = 'mon_script.php?a='+escape(aleatoire); xhr_object.open(method, filename, true); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { var tmp = xhr_object.responseText; document.getElementById('Id_de_ma_div').innerHTML = tmp; } } xhr_object.send(); setTimeout('refresh_div()', 60000); } </script>
BODY

Code : Tout sélectionner

<body onload='refresh_div();'> <div id"Id_de_ma_div"></div> (Div à placer à l'endroit où l'on veut affiche mon_script.php) ... ... </body>

A bientôt,

Seb.