2013-03-05 2 views
3

를 사용하여 모든 X의 분은이 파일 'functions.php'가지고 : 나는 그것을마다 십초 정도를 실행하려면실행 PHP 스크립트는 아약스 요청

<?php 
function test ($url){ 
$starttime = microtime(true); 
$valid = @fsockopen($url, 80, $errno, $errstr, 30); 
$stoptime = microtime(true); 
echo (round(($stoptime-$starttime)*1000)).' ms.'; 

if (!$valid) { 
    echo "Status - Failure"; 
} else { 
    echo "Status - Success"; 
} 
} 
    test('google.com'); 
?> 

을, 나는 아약스 요청을 사용하는 말했지만, 난 완전히 이해 해달라고 어떻게 작동하는지. 나는 'index.php를'새로운 파일을 생성했는데, 다음이 그 안에 쓴 :

<script> 
var milliSeconds = 10000; 
setInterval(function() { 
    //Ajax request, i dont know how to write it 
    xmlhttp.open("POST","functions.php",true); 
    xmlhttp.send(); 
}, milliSeconds); 
</script> 

내가 FTP로 두 파일을 넣어하지만 아무 일도 일어나지 않습니다가, 누군가가 나를 PROPPER 아약스 요청을 작성하는 데 도움 수 있습니까?

편집 :

+1

"body onload"기능을 사용하여 루프를 트리거해야합니다 (http://www.w3schools.com/jsref/event_body_onload.asp) – Najzero

+0

당신은 @Najzero입니다. 맞아, 돔이로드되기 전에 여러 번 실패 할 수도 있지만, 그 후에는? – karaxuna

+0

@ Najzero : http://w3fools.com을 참고 자료로 연결하지 마십시오. @ user1894929 당신의'.open()'호출에 오타가 있습니다. – jAndy

답변

1
var milliSeconds = 1000; 

setInterval(function() { 

var xmlhttp; 

if (window.XMLHttpRequest) // code for IE7+, Firefox, Chrome, Opera, Safari 
{ 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
{ 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); // code for IE6, IE5 
} 

xmlhttp.onreadystatechange=function() 
{ 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
     console.log (xmlhttp.responseText); 
     } 
} 

xmlhttp.open("POST","functions.php",true); 
xmlhttp.send(); 


}, milliSeconds); 

가 브라우저 (xmlhttp=new XMLHttpRequest();)에 따른 요청 XMLHTTP 객체를 로딩 할 다음 이벤트 핸들러를 설정할 때 XMLHTTP 상태 변화 (xmlhttp.onreadystatechange=function()). 변경되면 상태가 200 (성공)인지 확인한 다음 응답으로 원하는대로 수행하십시오. (콘솔에 인쇄했습니다)

0
xmlhttp.open("POST","funkction.php",true); 

상점 eddited 오타, 여전히 나던 작품은해야합니다 :

xmlhttp.open("POST","functions.php",true); 
1

그래서, 소리 유일한 문제는 당신이 XHR을 작성하는 방법을 모르는처럼 의뢰. Using XMLHttpRequest을 살펴보십시오. 질문에 대한이 대답에 대한 의견을 말하십시오.