Domanda

L'ho salvato come file 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();
}

Fondamentalmente, sto cercando di utilizzare la funzione SetInterval () integrata per ripetere qualsiasi variabile URL contenga.

In un certo senso, ho bisogno di questo per eseguire ogni 5 secondi dopo il suo tfunction Sendajax (tipo, STR) è chiamato (come in Write):

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

xmlhttp.send();

Potrei semplicemente impostare dove scrivo la funzione su un intervallo: cioè

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

Ma ho diversi, diversi posti in tutto il mio codice in cui questa funzione è scritta e questo non funzionerà se è contenuta in un'azione chiave e l'istruzione IF perché eseguirà solo una volta:

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

// Questa funzione non funziona.

Se qualcuno può aiutarmi a correggere l'ultima funzione o semplicemente per includere il setInterval all'interno del file Ajax.js stesso, lo apprezzerei molto.

Saluti, Taylor

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top