在PHP中使用jQuery加载器在后台运行进程


Running a process in background using jQuery loader in PHP?

这是需要等待的进程。它基本上是一个检查网站状态的代码片段。问题是,如果我把它放在没有任何加载器的php文件中,它将需要一些时间来加载整个页面。

所以我想我需要使用一个加载器来在后台运行这个进程。

你知道如何把这个函数在jQuery加载器,使它在后台运行,而页面的其余部分加载?

<?php
function Visit($url){
       $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();
       curl_setopt ($ch, CURLOPT_URL,$url );
       curl_setopt($ch, CURLOPT_USERAGENT, $agent);
       curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt ($ch,CURLOPT_VERBOSE,false);
       curl_setopt($ch, CURLOPT_TIMEOUT, 5);
       curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
       curl_setopt($ch,CURLOPT_SSLVERSION,3);
       curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
       $page=curl_exec($ch);
       //echo curl_error($ch);
       $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
       curl_close($ch);
       if($httpcode>=200 && $httpcode<300) return true;
       else return false;
}
$load = "http://www.somesite.com";
if (Visit($load))
       echo "Site is UP";
else
       echo "Site is DOWN";
?>

您需要将此函数放在page

然后你需要指定结果是什么div

然后发出AJAX请求

让我们把它付诸行动

1 -假设页面是myfunciton.php不是你需要调用函数

2 - <div class="loaderResult">Loading...</div>

3 - AJAX代码,我将使用jQuery
var url = "http://www.example.com/"; 
$(document).ready(function(){ 
   $.ajax({
      url: "myfunction.php?url="+url,
      type: "post",
      success: function(result){
          alert("success");
           $(".loaderResult").html(result);
      },
      error:function(){
          alert("failure");
      }   
    });
});

您可以通过其他方式传递URL的值

注意现在$_GET['url'];

中的URL值

我希望这对你有帮助