2013-04-03 114 views
-2

我有一個導入好友按鈕,點擊時從Facebook加載好友,通過向php文件發送郵件。PHP和JS之間的通信

現在我將如何創建一個實時進度條?

我知道如何製作進度條本身,但不是100%確定如何以簡單的方式在php和頁面之間進行通信。

+0

php <-> js基本上是AJAX。 –

+0

雖然你可以做到這一點,而PHP腳本運行? –

+0

我需要每個循環發送一個通知給js腳本。 –

回答

0

在這種情況下,您應該考慮服務器發送的事件。它不需要特殊的服務器。它唯一需要的是一臺可以提供HTTP請求的服務器,這對於Web服務器來說是必須的。

數據將以持久的HTTP連接發送。在PHP中植入相當容易。您只需要一個以特定格式回顯數據並清空數據的循環。

服務器發送的事件是服務器和客戶端之間的單向通信,所以它對你的情況很有用。

爲了簡化開發,我創建了一個服務器發送事件的PHP庫。你可以考慮使用它:github.com/licson0729/libSSE-php

希望我的信息可以幫助你。

0

將所有朋友加載到JavaScript Array中。

function import_friends(friend_array) 
{ 
    var response=0; 
    var xmlhttp; 
    if(window.XMLHttpRequest) 
    { 
     xmlhttp=new XMLHttpRequest(); 
    } 
    else 
    { 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function() 
    { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
      response += xmlhttp.responseText; 
      update_the_progress_bar(response,friend_array.length); 
     } 
    } 
    for(i=0; i<friend_array.length; i++) 
    { 
    xmlhttp.open("post","url",true); 
    xmlhttp.send(friend_array[i]); 
    } 
} 

您從您傳遞給朋友的URL的回覆應爲「1」,表示成功。然後,在更新功能中,只需簡單的分區來更新欄。