これを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();
}
基本的に、組み込みの setInterval() 関数を使用して、URL 変数に含まれるものを繰り返し使用しようとしています。
ある意味では、tfunction sendAjax(type,str) が呼び出された後、5 秒ごとにこれを実行する必要があります (書面によると):
case 'add':
xmlhttp.open("GET","mysql_process_event.php?q="+str,true);
break;
}
xmlhttp.send();
インターバルで関数を書く場所を設定することができました:IE
setInterval( "sendAjax('message', '123')", 5000 );
sendAjax('message','123')
しかし、コード全体にこの関数が書かれている場所がいくつかありますが、キーアクションと if ステートメントに含まれている場合、これは一度しか実行されないため機能しません。
$('#searchbar').live('keyup',function() {
eInput = $(this).val();
if (eInput.length > 1) {
setInterval( "sendAjax('message', '123')", 5000 );
sendAjax('message','123')
}
});
// この関数は動作しません。
誰かが最後の関数を修正するのを手伝ってくれたり、Ajax.js ファイル自体に setInterval を含めたりするのを手伝ってくれたら、大歓迎です。
よろしく、テイラー