2013-04-03 72 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”,表示成功。然后,在更新功能中,只需简单的分区来更新栏。