0

私は基本的なライブチャットを行っていますが、これを正しく学んだかどうか疑問に思っていました...

私はこのような呼び出し関数を持っています:

function call_data(url,data)
{
  if (window.XMLHttpRequest) {              
    AJAX=new XMLHttpRequest();              
  } else {                                  
    AJAX=new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (AJAX) {
  querystring = "?dta="+data;
     AJAX.open("GET", url + querystring, false);                             
     AJAX.send(null);
     return AJAX.responseText;                                         
  } else {
     return false;
  }                                             
}   

function checker(id){
        result = parseInt(call_data('check_chat.php',id)); //check new messages
        if(result){//if new message
        loadchat(id); //load the messages
        } else {
        setTimeout(function() { checker(id); }, 5000); //check for new message every 5 seconds
        }
}

これは、定期的に新しいメッセージを呼び出すための最良の方法ですか?

4

1 に答える 1

2

--と同期呼び出しを行っています XMLHttpRequest。これにより、データが返されるまでブラウザがフリーズします。 asynchronousはるかに優れており、ほんの少しだけ複雑です。

もう少し調査することをお勧めします。

私はこのリンクをざっと見てみました、それは役立つかもしれません:http ://www.cristiandarie.ro/asp-ajax/Async.html

于 2012-09-06T00:56:20.833 に答える