使用ajax请求每隔x分钟运行一次php脚本
Run php script every x mins using ajax request
得到了这个文件'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,但什么都没发生,有人能帮我写一个proper-ajax请求吗?
编辑:编辑打字错误,在上仍然不起作用
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(成功(,然后对响应执行任何您想要的操作。(我把它打印到控制台(
所以,听起来您唯一的问题是不知道如何编写XHR请求。看看使用XMLHttpRequest。用你的问题评论这个答案。
xmlhttp.open("POST","funkction.php",true);
应该是:
xmlhttp.open("POST","functions.php",true);
相关文章:
- 更改路由后,运行一次js脚本
- 只运行一次提取的脚本
- 在谷歌应用程序脚本中,如何在满足条件的情况下只发送一次电子邮件
- 是否有脚本/代码可以一次将链接属性添加到多个链接
- Ajax发布到PHP脚本,每5秒查询一次MySQL数据库的性能/问题
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- 控制不止一次跳水的风格's风格使用java脚本动态,使用类
- 始终在chrome/ffirefox中工作的脚本在IE中只能工作一次
- 显示弹出脚本,使其在每个浏览器会话中只弹出一次
- 每 1 分钟在 chrome 中运行一次脚本
- Chrome 扩展程序,每分钟刷新一次页面,并在每次刷新时运行 (javascript) 脚本
- 如何使我的Chrome扩展只注入一次脚本
- Javascript每300秒运行一次脚本
- 每3小时在服务器上运行一次脚本
- 每个浏览器会话运行一次脚本,但在结束时冻结脚本
- 如何在Chrome扩展中每天只运行一次脚本
- 执行javascript,然后每60秒刷新一次脚本
- 油脂猴子每天运行一次脚本
- Javascript-在只运行一次脚本之前等待一段时间
- 如何阻止jquery为每个类成员运行一次脚本?