2013-05-16 83 views
0

這是需要等待的過程。這基本上是檢查網站狀態的一個片段。問題是如果我把這個文件放在沒有任何加載器的php文件中,加載整個頁面需要一些時間。在PHP中使用jQuery加載器在後臺運行進程?

所以我想我需要使用一個加載程序在後臺運行此過程。

對於如何將這個函數放在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

你需要把這個功能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的值

注意,URL值現在在$_GET['url'];

我希望這可以幫助:)

+0

嘿s orry爲非常晚的答覆。我一直在試圖將腳本放入一個文件('check.php'),然後將JS腳本放入另一個文件('script.js')中。現在我所要做的就是用HTML中的類名來調用它。我仍然無法理解如何使用AJAX。你能指導我完成這個嗎?無論如何感謝信息。 – AimanB