IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Forcer l'execution xhr au chargement


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de Gecko
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Décembre 2008
    Messages
    499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Décembre 2008
    Messages : 499
    Par défaut [AJAX] Forcer l'execution xhr au chargement
    Bonjour !!

    Je cherche un moyen de forcer l'envoi des données XHR au chargement de la page à partir d'un script js distant

    En version simple :

    Mon service donne un script js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="https://www.mon-site.com/service.js"></script>
    Dans affiche service .js je récupère certaines données pour les traiter et retourner des résultats. Ces résultats doivent s'afficher au chargement de la page sur le site client. Et c'est là que je suis largué...

    J'ai eu beau farfouiller dans les docs, forums, google etc... je ne trouve absolument rien qui m'indique comment procéder

    Si vous avez une solution ou des pistes, je suis preneur ^^

    A bientôt, cordialement, Bloody-wave

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par Bloody-wave Voir le message
    je récupère certaines données
    D'où et de quel type (vu que la page vient juste de se charger) ?
    Citation Envoyé par Bloody-wave Voir le message
    pour les traiter
    En Javascript ou sur le serveur ?
    Citation Envoyé par Bloody-wave Voir le message
    et retourner des résultats
    Du client au serveur ou du serveur au client ?
    Citation Envoyé par Bloody-wave Voir le message
    Ces résultats doivent s'afficher au chargement de la page sur le site client.
    Tu ne pouvais pas les générer lors du chargement initial ?

    A quelques rares exceptions près, un appel Ajax au chargement de la page (<body onload="...">, au fait) est une erreur de logique.

    A+

  3. #3
    Membre très actif
    Avatar de Gecko
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Décembre 2008
    Messages
    499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Décembre 2008
    Messages : 499
    Par défaut
    Bonjour E.Bzz

    Les infos récupérées sont des infos basiques renvoyées par le navigateur, mon serveur les interprètes et retourne le résultat.

    Je ne peux/veux pas toucher à la balise body du client. Je veux juste que lorsque la page charge mon script envoi les infos via l'ajax sans avoir besoin d'une manipulation du visiteur.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    Je ne peux/veux pas toucher à la balise body du client.

    Mais c'est le code que tu as écrit sur le serveur qui sera chargé par le client.

  5. #5
    Membre très actif
    Avatar de Gecko
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Décembre 2008
    Messages
    499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Décembre 2008
    Messages : 499
    Par défaut
    mon soucis est qu'il ne se charge pas sur simple appel du scripts js, j'en déduit qu'il faut donner l'instruction au script sur mon serveur...

    Pour faire simple voici la base de mon script :

    Code client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="https://www.mon-site.com/service.js"></script>
    Code serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    var wlochref = encodeURIComponent(window.location.href);
    function check_service(wlochref)
    {
    	var XhrObj = null;
    	if (window.XMLHttpRequest || window.ActiveXObject) {
    		if (window.ActiveXObject) {
    			try { XhrObj = new ActiveXObject("Msxml2.XMLHTTP");	}
    			catch(e) { XhrObj = new ActiveXObject("Microsoft.XMLHTTP");	}
    		} else { XhrObj = new XMLHttpRequest(); }
    	} else { alerte.innerHTML='Votre navigateur ne supporte pas l\'objet XMLHTTPRequest...'; }
    	XhrObj.open("POST", "service.php");
    	XhrObj.onreadystatechange = function()
    	{
    		if (XhrObj.readyState == 4 && XhrObj.status == 200)
    		{
    			document.write(""+XhrObj.responseText);
    		}
    	}
    	XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	XhrObj.send('wlochref='+wlochref);
    }
    La seule chose que je ne souhaite pas c'est passer des arguments côté client.

    Donc ma question est comment lancer le script serveur, check_service(), à partir du script client dès que la page charge?

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Bloody-wave Voir le message
    Donc ma question est comment lancer le script serveur, check_service(), à partir du script client dès que la page charge?
    Réponse déjà donnée.
    Par ailleurs, ce que tu appelles "Code serveur" n'en est pas. Il s'agit de Javascript (ta fonction Ajax), donc côté client ...

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] imopossible d'appeller xhr.open
    Par sliderman dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/01/2008, 18h35
  2. [AJAX] forcer telechargement fichier
    Par calitom dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/10/2007, 12h05
  3. Execution script au chargement de la page
    Par zoullou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/08/2006, 15h05
  4. [AJAX] forcer un script ajax à ne pas regarder dans le cache
    Par grinder59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/07/2006, 17h33
  5. comment forcer l'execution javascript
    Par jj del amorozo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/03/2006, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo