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

时间:2013-05-16 10:51:41

标签: php jquery ajax

这是需要等待的过程。它基本上是一个检查网站状态的片段。问题是如果我把它放在没有任何加载器的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";
?>

1 个答案:

答案 0 :(得分:1)

您需要将此功能放在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");
      }   
    });
});

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

请注意,$_GET['url'];

中的网址值

我希望这可以帮助:)