AJAX等待,直到文件在另一个服务器上存在
AJAX wait until file exist on another server
我正在开发一个基于服务器的网站。一个是免费主机,另一个是树莓派。当你在免费主机上访问一个网页时,你会得到一个输入链接的表单。链接被发送到树莓派,树莓派永久运行一个脚本,下载收到的链接的一些内容,并保存一个大的txt文件。该脚本需要一点加载(30秒左右),所以我想创建一个Javascript脚本在主页(免费主机一个,与表单),其中显示一个加载图标,并检查在树莓下载文件夹,直到文件存在。
我认为AJAX将是最好的。工作流程是:
user访问form.php并输入一个链接表单直接发送给RPiRPi开始下载内容,并使用get参数id=将用户返回到referer页面这里ajax代码开始工作检查到一个url如果。txt存在如果它存在,它显示下载链接否则,它等待检查,直到它得到一个200状态码(这是我需要的)
我知道javascript和不同服务器的问题所以我创建了一个名为check.php的php脚本在相同的服务器和form。php文件夹中它以id为参数并返回200或404所以ajax代码只需要得到答案并连续执行
我该怎么做?我是AJAX新手,只懂一点Javascript。你能帮我弄一下AJAX代码吗?
我的form.php?id =页面:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>downloader</title>
</head>
<body>
<div id="content">
<?
if (!$_GET){
?>
<form action="<<rpi server>>" method="post">
URL: <input type="text" name="link">
<input type="submit" value="Download">
</form>
<?
}else{
?>
<script>
$.ajax({
type: 'POST',
url: '/check.php',
data: {'id':'<? echo $_GET['id']; ?>'},
//check if response is 200 or 404, if it's 404 keep checking every second, else show mesage
}
});
</script>
<?
}
?>
</div>
</body>
</html>
使用
function checkFile()
{
$.ajax({
type: 'POST',
url: '/check.php',
data: {'id':'999'},
error : function(){
setTimeout(function(){ checkFile(); }, 3000);
},
success : function(data) {
//do whatever you want
}
});
}
$(function() {
checkFile();
});
相关文章:
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 通过管道将多部分表单上载到另一个服务器
- PHP脚本,用于将目录从一个Linux服务器移动到另一个服务器
- 从JS访问另一个服务器XML
- 将ajax请求发送到另一个服务器(特定的示例不起作用)
- 将Jquery从另一个服务器生成的链接的锚文本传递给Jquery变量
- 如何复制文件从谷歌驱动器到另一个服务器使用php
- Express node.js从node路由向另一个服务器发出get请求
- 为什么Javascript编程在一个服务器上工作而在另一个服务器上不行?
- 通过javascript访问另一个服务器的Form Action
- 通过Jquery Ajax从另一个服务器检索数据
- 使用JavaScript将网站转发到另一个服务器上的pdf文件
- 包括使用JS从另一个服务器来的PHP
- Php重定向到一个服务器到另一个服务器的Php页面
- 在 Node.js 中,如何让一个服务器调用另一个服务器上的函数
- 为什么是Dojo网格.刷新正在进行另一个服务器调用
- 如何重定向到另一个服务器在mvc使用post方法
- 我可以解析JSON远程从另一个服务器动态生成的php页面
- 想创建一个js插件,发送大量的数据异步到另一个服务器
- AJAX等待,直到文件在另一个服务器上存在