2011-04-18 60 views
0

目前我有一個功能可以檢查網頁是否可以訪問。我會在while循環中大約100次調用這個函數,這意味着它有時會持續5分鐘來檢查所有這100個網頁。 我以前從未使用ajax,但我認爲用ajax解決這個問題是一個好主意,但是我從未使用過ajax,也不知道如何開始。你能給我一個好的提示嗎?感謝您的每一個回答!檢查網頁是否可以通過php訪問並用ajax刷新

+0

什麼?麻將?闕? – Neal 2011-04-18 18:10:08

回答

1

我會使用jquery-ajax,使它更簡單。 所以把jquery放到你的網站上即可。

這是jQuery的AJAX是如何工作的:

$.ajax({ 
    type: 'POST', 
    url: '--LINK TO PHP/ASP...---', // Place the link that has the command 
    data: dataString, // dataString is a json encode of the data that is sent to the file 
    dataType : 'json', 
    beforeSend:function(){ 
     // Before you send the info, do what you want here (ie loading gif...) 
    }, 
    success:function(data){ 
     // If it is successful, then it will do what you want here.   
    } 
}); 

我希望這有助於。

+0

不要忘記,AJAX只能在同一個域上工作 - 如果它是他想檢查的另一個站點,你必須在服務器上創建一個腳本來檢查狀態並通過AJAX – fin1te 2011-04-18 18:14:34

+0

感謝您的幫助! – silvert 2011-04-19 08:15:33

0

我建議你使用JQuery Ajax,比較容易實現。

$.ajax({ 
    url: "test.html", 
    context: document.body, 
    success: function(){ 
    $(this).addClass("done"); 
    } 
}); 
0

從你的(有點不明確的)描述中,我會說使用AJAX來控制網站驗證將是一個非常不恰當的方法。

相反,更明智的做法是通過使用cron觸發的PHP cli腳本「批處理」網站數據。

因此,一旦你插入相關領域到數據庫表中有「處理」標誌設置爲假,後臺腳本,然後將:

  1. 掃描網頁,AREN數據庫在您所需的時間內未被標記爲已檢查。

  2. 開展卷曲查找等

  3. 更新數據庫記錄相應地與當前的時間戳。

    ...

爲了確保與現有執行批處理腳本沒有重疊,你應該只調用PHP腳本在cron中每五分鐘(的PHP腳本本身內)檢查多久腳本一直在「掃描」階段開始運行,如果運行了四分鐘或更長時間,腳本就會退出。 (你可能想調整這些數字,但希望你可以看到我要去哪裏)

通過使用這種方法,你將能夠讓後臺腳本無限期地運行(因爲它是通過cron調用的,它會在重新啓動後自動啓動等),並簡單地將網頁添加到數據庫/通過單獨的Web前端查看處理結果等。

您當然可以使用AJAX從客戶端顯示的角度獲取數據庫當前狀態的常規摘要。

相關問題