2011-08-31 5 views
0

jQuery를 사용하고 있으며 다음과 같이 aAax 요청을 받았습니다.Timed AJAX 요청

$.ajax({ 
     type: 'POST', 
     url: 'test.php', 
     data: { 
      data: "test_data" 
     }, 
     cache: false, 
     success: function(result) { 
      if (result == "true"){ 
       alert("true"); 
      }else{ 
       alert("false"); 
      } 
     }, 
    }); 

이것은 잘 작동합니다. 그러나, 나는 시간의 특정 간격으로 적시에 이것을하고 싶다. 30 초마다 이걸 실행하고 싶습니다. 페이지를 다시로드하지 않아야합니다. 나는 이것이 숨겨진 백그라운드에서 일어나기를 바란다. 아무도 이것을하는 방법을 안다?

답변

2
setInterval(function() { 
    $.ajax({ 
     type: 'POST', 
     url: 'test.php', 
     data: { 
      data: "test_data" 
     }, 
     cache: false, 
     success: function(result) { 
      if (result == "true"){ 
       alert("true"); 
      }else{ 
       alert("false"); 
      } 
     } 
    }); 
}, 30000); 
+0

이것은 정확히 내가 찾고있는 것이 아니다. 30 초마다 경고 "안녕"처럼 결과에 상관없이 30 초마다 초기화하는 스크립트를 루프에 넣고 싶습니다. –

+0

수정 됨! 시간 제한 요청을 중지하려면 setInterval 반환 값을 저장하고 나중에 삭제하십시오. – cvsguimaraes

+0

당신이 더 잘 이해할 수있는 바이올린이 있습니다 http://jsfiddle.net/FatUe/1/ – cvsguimaraes

1

setInterval 사용? http://www.w3schools.com/jsref/met_win_setinterval.asp

또는 당신은 단지 당신이 그 아약스 요청

+0

하나를 전송하는 기능을 호출 할 성공 콜백의 setTimeout을 사용할 수있는 성공 메시지 후에 실행하기를 원한다면. w3schools를 언급하지 마십시오. 많은 실수가 있습니다. – J0HN

+0

나는 알고있다. 그러나 나는이 경우에 적용될 것이라고 생각하지 않으며 매우 기본적이고 유용한 점을 가지고있다 :-) – Alex