3

このファイル「functions.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');
?>

10秒ごとに実行したいのですが、ajaxリクエストを使用するように言われましたが、その仕組みが完全にはわかりません。新しいファイル「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 に入れましたが、何も起こりません。適切な ajax リクエストを書くのを手伝ってくれませんか?

編集:編集されたタイプミス、まだ機能しません

4

3 に答える 3

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 リクエスト オブジェクトをロードし ( xmlhttp=new XMLHttpRequest();)、xmlhttp の状態が変化したときにイベント ハンドラを設定する ( xmlhttp.onreadystatechange=function()) 必要があります。変更されたら、ステータスが 200 (成功) かどうかを確認してから、応答で必要なことを行います。(コンソールに出力しました)

于 2013-03-05T08:50:46.140 に答える
1

したがって、あなたの唯一の問題は、XHR リクエストの書き方がわからないことのようです。Using XMLHttpRequest を見てください。あなたの質問でこの答えにコメントしてください。

于 2013-03-05T08:40:05.663 に答える
0
xmlhttp.open("POST","funkction.php",true); 

次のようにする必要があります。

xmlhttp.open("POST","functions.php",true);
于 2013-03-05T08:30:23.650 に答える