获取此文件'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但没有任何反应,有人可以帮我写一个propper ajax请求吗?
编辑:eddited拼写错误,仍然无法正常工作
答案 0 :(得分:1)
因此,听起来您唯一的问题是您不知道如何编写XHR请求。看看Using XMLHttpRequest。用你的问题评论这个答案。
答案 1 :(得分: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(成功),然后对响应做任何你想做的事情。 (我把它打印到控制台)
答案 2 :(得分:0)
xmlhttp.open("POST","funkction.php",true);
应该是:
xmlhttp.open("POST","functions.php",true);