Actualiser page Javascript/PHP
Fermé
Harrribo
Messages postés
292
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
26 octobre 2011
-
25 août 2009 à 12:03
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 - 25 août 2009 à 14:39
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 - 25 août 2009 à 14:39
A voir également:
- Actualiser page Javascript/PHP
- Supprimer une page word - Guide
- Telecharger javascript - Télécharger - Langages
- Comment traduire une page - Guide
- Word numéro de page 1/2 - Guide
- Mettre google en page d'accueil - Guide
4 réponses
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
25 août 2009 à 12:20
25 août 2009 à 12:20
Oui oui.
Le mieux dans ton cas, est de passer les données au serveur pour qu'une page PHP retourne les données.
En utilisant l'AJAX, ça permettra même de ne pas recharger la page entière.
Le script global serait:
1- Récupération des coordonnées du clic par javascript
2- Envoi en ajax des données à une page PHP annexe 'moulinette.php?x=CoordonneesEnX&y=CoordonneesEnY'
3- La page PHP aura alors les coordonnées en requête GET ($_GET['CoordonneesEnX'] et $_GET['CoordonneesEnY']
4- la page PHP récupère les coordonnées suivantes et les retournes à la page d'origine en ECHO
5- la fonction ajax qui attendait la réponse du script PHP aura alors les nouvelles coordonnées en mémoire
6- Le javascript finit l'affichage des nouvelles coordonnées.
J'espère avoir été assez clair.
Je n'ai pas de code tout prèt à te fournir, ton programme étant apparemment assez complexe.
Le mieux dans ton cas, est de passer les données au serveur pour qu'une page PHP retourne les données.
En utilisant l'AJAX, ça permettra même de ne pas recharger la page entière.
Le script global serait:
1- Récupération des coordonnées du clic par javascript
2- Envoi en ajax des données à une page PHP annexe 'moulinette.php?x=CoordonneesEnX&y=CoordonneesEnY'
3- La page PHP aura alors les coordonnées en requête GET ($_GET['CoordonneesEnX'] et $_GET['CoordonneesEnY']
4- la page PHP récupère les coordonnées suivantes et les retournes à la page d'origine en ECHO
5- la fonction ajax qui attendait la réponse du script PHP aura alors les nouvelles coordonnées en mémoire
6- Le javascript finit l'affichage des nouvelles coordonnées.
J'espère avoir été assez clair.
Je n'ai pas de code tout prèt à te fournir, ton programme étant apparemment assez complexe.
Harrribo
Messages postés
292
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
26 octobre 2011
67
25 août 2009 à 14:04
25 août 2009 à 14:04
Ok je pense voir comment faire :
apprendre à négocier avec AJAX : https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/244425-le-concept-dajax
Donc si j'ai bien compris ce que tu as dit et le peu que j'ai lu pour le moment
AJAX n'est pas prioritaire sur le php mais est indépendant : il sait travailler tout seul donc s'il a besoin de relancer une page il le fait : donc en gros c'est AJAX qui fait office de rafraichissement de page :D
Sinon question toute conne ^^
moulinette.php c'est juste une page de brouillon en quelque sorte qui lui permet d'être indépendant et travailler de son côté ?
apprendre à négocier avec AJAX : https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/244425-le-concept-dajax
Donc si j'ai bien compris ce que tu as dit et le peu que j'ai lu pour le moment
AJAX n'est pas prioritaire sur le php mais est indépendant : il sait travailler tout seul donc s'il a besoin de relancer une page il le fait : donc en gros c'est AJAX qui fait office de rafraichissement de page :D
Sinon question toute conne ^^
moulinette.php c'est juste une page de brouillon en quelque sorte qui lui permet d'être indépendant et travailler de son côté ?
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
25 août 2009 à 14:18
25 août 2009 à 14:18
Non pas tout à fait.
Il n'y a pas vraiment de priorité entre ajax et php. c'est totalement différent.
En fait, l'AJAX est une manière de coder du javascript. c'est donc du code client, et ce qui est déclenché par l'utilisateur.
L'AJAX permet de lancer des requêtes HTTP sans recharger la page. on demande donc à AJAX de lancer une requête HTTP vers moulinette.php. cette page php contient tout le code nécessaire pour récupérer les données à mettre à jour. et dans tout le code, il ne faut mettre que les valeurs à retourner en ECHO. une fois que le serveur à généré la page, elle est renvoyée à AJAX qui la reçoit dans une variable. il suffit ensuite de manipuler cette variable pour afficher ce que l'on veut.
En résumé, AJAX est comme un tunnel qui permet d'exécuter une page PHP côté serveur.
Et moulinette est une page importante qui fait le fameux calcul du point le plus proche.
Il n'y a pas vraiment de priorité entre ajax et php. c'est totalement différent.
En fait, l'AJAX est une manière de coder du javascript. c'est donc du code client, et ce qui est déclenché par l'utilisateur.
L'AJAX permet de lancer des requêtes HTTP sans recharger la page. on demande donc à AJAX de lancer une requête HTTP vers moulinette.php. cette page php contient tout le code nécessaire pour récupérer les données à mettre à jour. et dans tout le code, il ne faut mettre que les valeurs à retourner en ECHO. une fois que le serveur à généré la page, elle est renvoyée à AJAX qui la reçoit dans une variable. il suffit ensuite de manipuler cette variable pour afficher ce que l'on veut.
En résumé, AJAX est comme un tunnel qui permet d'exécuter une page PHP côté serveur.
Et moulinette est une page importante qui fait le fameux calcul du point le plus proche.
Harrribo
Messages postés
292
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
26 octobre 2011
67
25 août 2009 à 14:28
25 août 2009 à 14:28
Ok bin merci, je sais ce qu'il me reste à faire pendant le temps libre que je pourrai avoir dans les 3 semaines qui arrivent :D
Déjà : voir comment fonctionne AJAX
Déjà : voir comment fonctionne AJAX
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
25 août 2009 à 14:39
25 août 2009 à 14:39
Bon courage alors.
Le mieux est de trouver un bout de code déjà fait et de le faire fonctionner pour voir comment il marche. Le code n'est pas très long mais fastidieux à écrire pour lancer une requête HTTP par AJAX.
Voici un code tout fait que j'utilise pour mes scripts AJAX:
J'ai souligné les choses importantes à changer.
Il n'est forcément nécessaire d'afficher un écran de chargement ni d'afficher d'erreur ni le résultat du script.
Dans mon cas le fichier moulinette.php me renvoie directement ce que je veux afficher, mais il est possible de travailler avec le résultat de xhr_object0.responseText
Le mieux est de trouver un bout de code déjà fait et de le faire fonctionner pour voir comment il marche. Le code n'est pas très long mais fastidieux à écrire pour lancer une requête HTTP par AJAX.
Voici un code tout fait que j'utilise pour mes scripts AJAX:
//Creation de l'objet XMLHttpRequest xhr_object0 = createObjectAJAX(); //On envoie la requete xhr_object0.onreadystatechange=function() { var response=null; if(xhr_object0.readyState == 4 ) response=xhr_object0.responseText; else response="<h4>Chargement des données...</h4>"; // Ecran de chargement dans le conteneur document.getElementById('resultat').innerHTML=response;};// on affiche l'écran de chargement try { xhr_object0.open("GET", "moulinette.php?donnees=" + varQuiContientLesDonnees, true); xhr_object0.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8"); //xhr_object.send(send); xhr_object0.send(null); //Une fois la reponse recue, on l'injecte dans l'element souhaite if(xhr_object0.readyState == 4 && xhr_object0.status == 200) document.getElementById('resultat').innerHTML=xhr_object0.responseText; } catch (e) {document.getElementById('resultat').innerHTML="<p>"+ e +"</p>";}
J'ai souligné les choses importantes à changer.
Il n'est forcément nécessaire d'afficher un écran de chargement ni d'afficher d'erreur ni le résultat du script.
Dans mon cas le fichier moulinette.php me renvoie directement ce que je veux afficher, mais il est possible de travailler avec le résultat de xhr_object0.responseText