2012-09-06 3 views
0
나는 기본 라이브 채팅을하고 있는데이 제대로 배운 궁금했다

...JS 요청 - 날짜가 만료 되었습니까?

내가 이렇게 내 전화 기능이 있습니다

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 
     } 
} 

이 새 메시지를 호출 할 수있는 가장 좋은 방법입니다 정기적으로?

+0

내가 추천하지 것이다 :

는 나는 그것이 도움이 될이 링크를 간단히 살펴 보았다. 귀하의 PHP 스크립트가 지연되면 귀하의 자바 스크립트가 그렇게하는 동안 차단됩니다. –

+0

@LeeTaylor : [XMLHttpRequest는 반드시 비동기적일 필요는 없습니다.] (http://www.w3.org/TR/XMLHttpRequest/#synchronous-flag), 모든 XMLHttpRequest는 "AJAX"요청으로 간주되지 않습니다. –

+0

그래서 내 뜻은 괜찮은 @JoelPurra입니까? – Sir

답변

2

XMLHttpRequest과의 동기식 통화를하고 있습니다. 그러면 데이터가 반환 될 때까지 브라우저가 멈 춥니 다. asynchronous은 훨씬 더 좋으며 터치 만 더 복잡합니다.

아직 조금 더 연구를 해보는 것이 좋습니다. 당신은, 동 기적으로 AJAX를 사용하는 http://www.cristiandarie.ro/asp-ajax/Async.html

관련 문제