2013-04-03 5 views
-2

J'ai un bouton d'importation d'amis qui, lorsqu'on clique dessus, charge des amis de Facebook, ce qui se fait via une demande de publication dans un fichier php.Communication entre PHP et JS

Maintenant comment créer une barre de progression en direct?

Je sais comment faire la barre de progression elle-même, juste pas sûr à 100% comment faire des communications entre php et la page d'une manière facile.

+0

php <-> js est fondamentalement AJAX. –

+0

mais pouvez-vous faire cela pendant que le script PHP est en cours d'exécution? –

+0

Je dois envoyer une notification au script js à chaque boucle. –

Répondre

0

Dans ce cas, vous devez prendre en compte les événements envoyés par le serveur. Il ne nécessite pas de serveur spécial. La seule chose dont il a besoin est un serveur qui peut servir des requêtes HTTP, ce qui est indispensable pour un serveur web.

Les données seront envoyées dans une connexion HTTP de longue durée. C'est assez facile à implanter en PHP. Tout ce dont vous avez besoin est une boucle qui résume les données dans un format spécifique et vider les données.

Les événements envoyés par le serveur sont une communication unidirectionnelle entre le serveur et le client, ce qui vous sera utile dans votre cas.

Pour faciliter le développement, j'ai créé une bibliothèque PHP pour les événements envoyés par le serveur. Vous pouvez envisager de l'utiliser: github.com/licson0729/libSSE-php

J'espère que mes informations peuvent vous aider.

0

Charger tous les amis dans 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]); 
    } 
} 

Votre réponse de l'URL que vous passez l'ami à devrait être, "1" pour le succès. Ensuite, il suffit de la division dans la fonction de mise à jour pour mettre à jour la barre.

Questions connexes