Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 运行';长时间等待&x27;脚本在页面上加载,用AJAX检查其是否完成_Php_Ajax_Timer_Loading - Fatal编程技术网

Php 运行';长时间等待&x27;脚本在页面上加载,用AJAX检查其是否完成

Php 运行';长时间等待&x27;脚本在页面上加载,用AJAX检查其是否完成,php,ajax,timer,loading,Php,Ajax,Timer,Loading,我有一个网页,我正在嵌入一个脚本,可能需要多达10分钟来运行后端 我尝试过许多不同版本的带有计时器的ajax脚本加载程序 我需要的是: 在页面加载时,我需要触发主工作脚本运行。 此脚本的最后一行将在文件夹中创建一个具有用户文件名的唯一文本文件,以便在脚本完成后显示该文件 然后,页面加载也会触发一个AJAX函数,每10秒加载第二个脚本, 此秒脚本非常小,并检查用户文件(来自上面的脚本)是否位于指定的目录中 如果文件还不在那里(脚本仍在工作),那么它会回显 <img src"../loadin

我有一个网页,我正在嵌入一个脚本,可能需要多达10分钟来运行后端

我尝试过许多不同版本的带有计时器的ajax脚本加载程序

我需要的是: 在页面加载时,我需要触发主工作脚本运行。 此脚本的最后一行将在文件夹中创建一个具有用户文件名的唯一文本文件,以便在脚本完成后显示该文件

然后,页面加载也会触发一个AJAX函数,每10秒加载第二个脚本, 此秒脚本非常小,并检查用户文件(来自上面的脚本)是否位于指定的目录中

如果文件还不在那里(脚本仍在工作),那么它会回显

<img src"../loading.gif">

如果文件现在在那里(脚本已经完成),那么它会回显一个链接(或者是另一个页面的标题,我还没有决定)

这意味着在页面加载时,主处理脚本启动,并触发ajax脚本(它将立即显示加载图像),一旦主脚本完成执行,加载图像将更改为链接(或者可能只是将您重新引导到另一个页面)

抱歉说得太多了,只是想尽可能多地提供信息

另外,我想我需要一个简单的loadonce ajax函数来调用主处理脚本,这样它就可以在后台工作,否则加载主页需要很长时间

我的最新尝试:

function MakeRequest()
{
  var xmlHttp = getXMLHttp();

  xmlHttp.onreadystatechange = function()
  {
    if(xmlHttp.readyState == 4)
    {
      HandleResponse(xmlHttp.responseText);
    }
  }

  xmlHttp.open("GET", "processing_script.php?user=<?php echo $_SESSION['user']; ?>", true);
  xmlHttp.send(null);
}

function HandleResponse(response)
{
  document.getElementById('ResponseDiv').innerHTML = response;
}
函数MakeRequest()
{
var xmlHttp=getXMLHttp();
xmlHttp.onreadystatechange=函数()
{
if(xmlHttp.readyState==4)
{
HandleResponse(xmlHttp.responseText);
}
}
open(“GET”,“processing_script.php?user=”,true);
xmlHttp.send(空);
}
功能句柄响应(响应)
{
document.getElementById('ResponseDiv')。innerHTML=response;
}

要每5秒加载一个文件,可以使用函数每隔xy秒调用一次函数


您是否考虑过使用jquery之类的javascript框架?它们提供了一些非常易于使用的ajax方法来简化整个过程。“手动”处理ajax请求对我来说总是一件“麻烦事”。

对不起,你的确切问题我不清楚。。。你能澄清一下吗?好的,我有一个脚本可以在我的服务器上复制很多文件。。。我需要它在页面加载时运行它,并告诉用户它何时完成。。。我的服务器上的日志文件可以在处理完文件副本后为每个用户创建,这将使一个小脚本能够检查文件是否存在,以及是否显示加载图像或链接。我认为这将是两个独立的ajax函数,一个用于主脚本(无需将其中的任何信息放在div中),日志文件检查脚本需要将脚本内容回显到divlol中,我的问题是,如何正确配置ajax请求以。。。1.加载文件。。。2.每5秒加载一个文件,并将结果打印到div[review]中。请用实际问题更新您的问题。没有人想读一堆评论来理解你的问题。另外,如果你在问题的后半部分和评论中更正小写字母,那就太好了。