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

JavaScript Discussion :

Javascript dans un cgi


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 59
    Points
    59
    Par défaut Javascript dans un cgi
    Bonjour,

    J'ai écrit un cgi en C++. Ce dernier crée une socket client qui va se connecter à un serveur (programme écrit en C++). Lorsque je lance le cgi à partir d'un browser, celui-ci est exécuté en continue afin de recevoir en continue des données depuis le serveur. Lorsque le cgi reçoit une donnée, j'appelle une fonction javascript nommée "changeIcon":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    cout << "Données reçue:" << data << endl;
    cout << "<script language='Javascript'>" << endl;
    cout << "changeIcon(' " << data << " ');" << endl;
    cout << "</script>" << endl;
    Voici ma fonction javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function changeIcon(iconName)
    {
    	var object = document.getElementById("icon");
    	object.innerHTML = "<img src='images/" + iconName  + "'>";
    };
    Le cgi est exécuté sur Apache. Si je lance le cgi en local (sur le pc où est situé Apache et le cgi), ça marche nickel.
    Par contre, sur un autre pc du réseau le fonctionnement est différent, ce qui ne m'arrange pas.
    Je m'explique. Lorsque le cgi reçoit une donnée la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cout << "Données reçue:" << data << endl;
    fonctionne. Mais la partie javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cout << "<script language='Javascript'>" << endl;
    cout << "fctJavascript(' " << data << " ');" << endl;
    cout << "</script>" << endl;
    n'est pas exécutée.

    Avez-vous une idée sur ce comportement svp ?
    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 641
    Points : 66 666
    Points
    66 666
    Billets dans le blog
    1
    Par défaut
    parceque javascript est executé coté client et le cgi coté serveur ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 59
    Points
    59
    Par défaut
    Oui le cgi est exécuté côté serveur.

    Mais pourquoi ça marche en local ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 59
    Points
    59
    Par défaut
    Je crois que ce n'est pas un problème de javascript ; mais plutôt une histoire de vider le tampon associé au flot "cout".

    Cependant cela doit ce faire en utilisant endl:
    Je vais aller voir dans la partie "Serveurs (Apache, IIS,...)"

  5. #5
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    et si tu changes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language='Javascript'>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript">
    J'avais un Pc qui n'executait pas le js contenu dans une balise language="Javascript" qui tournait sur win98 :s

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 59
    Points
    59
    Par défaut
    Merci mais il n'y a pas de changements.

    J'aimerais également préciser que si le cgi reçoit une 2ème donnée, la fonction javascript associé à la 1ère donnée est exécuté. et ainsi de suite.

    Enfaite j'ai l'impression que le navigateur ne reçoit (par Apache) le bout de code javascript seulement après la réception d'un autre message.
    C'est pourquoi dans mon post précédent je parlais de vider le tampon associé au flot

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 59
    Points
    59
    Par défaut RESOLU
    C'est bon c'est résolu. Il suffit de désactiver Avast!

    Merci.

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

Discussions similaires

  1. Javascript dans formulaire CGI
    Par danathane dans le forum Web
    Réponses: 1
    Dernier message: 27/04/2010, 16h54
  2. cgi/javascript : appeler fonction javascript dans code cgi, need help!
    Par Mr.ux dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/12/2007, 07h33
  3. Javascript dans un formulaire
    Par MagicManu dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 26/10/2004, 11h25
  4. Réponses: 2
    Dernier message: 08/08/2003, 17h30
  5. [web] insertion javascript dans du perl
    Par laluna dans le forum Web
    Réponses: 3
    Dernier message: 28/07/2003, 09h50

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