Question

J'ai enregistré cela en tant que fichier ajax.js:

function sendAjax(type, str)
{
var xmlhttp;
if (str=="")
  {
  document.getElementById("txtResp").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtResp").innerHTML=xmlhttp.responseText;
    }
  }


switch(type)
{
case 'search':
    xmlhttp.open('GET','mysql_process_search.php?q='+str,true); 
  break;
case 'add':
    xmlhttp.open("GET","mysql_process_event.php?q="+str,true); 
  break;
}

xmlhttp.send();
}

Fondamentalement, j'essaie d'utiliser la fonction intégrée SetInterval () pour répéter tout ce que les variables URL contiennent.

Dans un sens, j'en ai besoin pour exécuter toutes les 5 secondes après avoir tfonction Sendajax (Type, Str) est appelé (comme dans le bref):

case 'add':
    xmlhttp.open("GET","mysql_process_event.php?q="+str,true); 
  break;
}

xmlhttp.send();

Je pourrais juste définir où j'écris la fonction sur un intervalle: c'est-à-dire

setInterval( "sendAjax('message', '123')", 5000 );
sendAjax('message','123')

Mais j'ai plusieurs, plusieurs endroits à travers mon code où cette fonction est écrite et cela ne fonctionnera pas s'il est contenu dans une action clé et si l'instruction car elle ne s'exécutera qu'une seule fois:

$('#searchbar').live('keyup',function() {
    eInput = $(this).val();
    if (eInput.length > 1) {
    setInterval( "sendAjax('message', '123')", 5000 );
    sendAjax('message','123')
}
});

// Cette fonction ne fonctionne pas.

Si quelqu'un peut m'aider à fixer la dernière fonction, ou simplement pour inclure le SetInterval dans le fichier ajax.js lui-même, je l'apprécierais grandement.

Cordialement, Taylor

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top