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

NodeJS Discussion :

Node.js reçoit HTML au lieu de JavaScript


Sujet :

NodeJS

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut Node.js reçoit HTML au lieu de JavaScript
    Bonjour,

    J'ai une erreur de compréhension avec un buggs, sur un javascript,
    J'utilise NODE.JS pour un site internet et j'ai le code suivant :

    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
     
    <!doctype html>
    <html>
    	<head>
    	</head>
    	<body>
    		<ul id="notes"></ul>
    		<div id="usersConnected"></div>
    		<IMG id=load SRC="loading.gif" style="display:none">
    		<div id="LISTEVOLID"></div><div id="LISTEVOL"></div>
    	</body>
    </html>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="socket.io/socket.io.js"></script>
    <script src="js/client.js"></script>
    jusque là rien de compliqué et j'ai un problème sur le client.js où j'ai le message en obket :Uncaught SyntaxError: Unexpected token <

    et je constate que le code est "transformé" et est le code de la parti HTML ci-dessus d'où le message Uncaught SyntaxError: Unexpected token <

    en espérant que j'ai été claire, aurriez vous une idée

    PS: ce n'est pas el premier site que je fais , (avec du PHP, JS, et ajax) mais là je séche

    Merci

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    essaye de remonter tes balises script juste avant la balise fermante du body ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    Bonjour,

    Merci beaucoup de votre réponse rapide,

    Je sais que ce doit être un truc bête mais je bloque

    pour info le code de index.js est rudimentaire (dans un premier temps)

    en fait j'ai tout essayé,

    -avant et après la balise <HTML>
    -avant et après la balise </HTML>
    -Entre balise <HTML> et </HTML>

    -avant et après la balise <HEAD>
    -avant et après la balise </HEAD>
    -Entre balise <HEAD> et </HEAD>

    -avant et après la balise <BODY>
    -avant et après la balise </BODY>
    -Entre balise <BODY> et </BODY>


    est ce que cela ne serais pas du au serveur NODE.js
    sachant que la page est lancé depuis mon explorateur comme suit;

    localhoste:8080

    La hiéarchie des fichiers est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    REP:NODEPRG
     |___________FIC:index.html
     |___________FIC:server.js
     |___________-REP:node_modules
                            |_______________REP : js
                            |                           |___________________ FIC : index.js  
                            |_______________REP : socket.io
                            |_______________REP : mysql

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    Je viens de faire un test, en fermant le serveur node.js et je n'ai plus le problème,
    donc comme je le surimposais le problème viens de node.

    je vais voir l'option d'inclure un bibliothque js avec node

  5. #5
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par défaut
    jour

    on peut mettre des balises script apres la balise html fermante ?

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    @melka
    essaye de remonter tes balises script juste avant la balise fermante du body ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    bonjour,

    Comme je vous le disais en fait j'ai tout essayé, même ce qui ne doit pas être fait, pour voir d'où venait le problème.
    Mais rien à faire, toujours le même problème et je pense que cela est spécifique à Node qui doit attendre une certaine "formulation" sur les javascript utilisés

    Ce qui m'ennui c'est que je souhaite faire évoluer un site ne PHP et Ajax vers une couche NODE.js et socket.io pour améliorer la communication avec ma base de données et rendre le système ultra rapide (domaine fonctionnel particulier)

    Le noeud du problème serait de rajouter mes multiples JS, mais là c'est loupé vue le problème, reste a voir comment "transformer certain morceau de mon code" si vous avrez des idées et des conseils je suis preneur.

    merci

  8. #8
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Démo : https://github.com/Automattic/socket...lic/index.html

    Je recommande de tester la démo, pour voir où cela coince.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  9. #9
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Quelle est la réponse du serveur pour ce fichier client.js ? Il te renvoie du HTML au lieu de ton JS c'est ça ? Si c'est le cas c'est une mauvaise config du fileserver côté Node, montre-nous ton code Node pour l'instanciation du serveur.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    Il te renvoie du HTML au lieu de ton JS c'est ça
    c'est exactement cela, je précise que c'est mon deuxième jours avec node , que je découvre et dont j'ai entendu parlé il y a longtemps
    Je crois que ce que vous dite est pertinent, maintenant reste à trouver ce paramétrage supplémentaires

    le code serveur est repris d'un exemple que j'ai adpaté pour lire et modifier ma base de données :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
     
    var http = require('http');
    var fs = require('fs');
     
    var socketCount = 0;
    var isInitNotes= false;
    var server = http.createServer(function(req, res) {
        fs.readFile('index.html', 'utf-8', function(error, content) {
            res.writeHead(200, {"Content-Type": "text/html"});
            res.end(content);
        });
    });
     
    var io = require('socket.io').listen(server);
    io.sockets.on('connection', function (socket) {
        socketCount++;
        io.sockets.emit('users connected', socketCount);
     
        socket.on('disconnect', function() {
            socketCount--;
            io.sockets.emit('users connected', socketCount);
        });
     
        socket.on('SELVOL', function(data){
    		console.log(1);
    		var mysql = require('mysql')
    		console.log(2);
    		var db = mysql.createConnection({
    			host: MYHOST,
    			user: MYUSER,
    			password: MYPWD,
    			database: MBDD
    		})
    		console.log(3);
    		var ListfligthTab= new Array;	
            db.query('SELECT * FROM FLTINFO')
                .on('result', function(Result){
    				ListfligthTab.push(Result);
                })
                .on('end', function(){
    				db.end();
    				console.log(4);
    				socket.emit('ENDSELVOL', ListfligthTab);
    				console.log(5);
    			})
        });
     
        socket.on('INSVOL', function(data){
    		var Data=[  data[0].DATA1,
    					data[0].DATA2,
    					data[0].DATA3]		
    		var SQL='insert into FLTINFO set DATA1 = ?,'
    									+'DATA2= ?,'
    									+'DATA3= ?';
    		var mysql = require('mysql')
    		var db = mysql.createConnection({
    			host: MYHOST,
    			user: MYUSER,
    			password: MYPWD,
    			database: MBDD
    		})
    		db.query(SQL,Data);
    		db.end();
        });
     
    });
     
    io.sockets.on('disconnect', function (socket) {
    	io.sockets.release();
    });
     
     
    server.listen(8080);

    Merci de votre aide.

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    re Bonjour
    en fait je viens de me rendre compte d'une chose.

    ce que je recherche exactement n'est pas ce que j'essaye d'implementer.

    je m'explique. j'ai deja un projet qui tourne en php ajax jquery et je veux simplement modifier le "protocole" de communication et transformé le jquery ajax en socket io pour rendre le système plus performant.

    donc je veux simplement instancier un serveur et "ecouter" mes "clients" pour mettre a jour ma bdd et éventuellement informer mes "clients" de mise à jour du serveur (bdd).

    je pense que cela est possible est ve vrai ou bien est ce que je dit n'importe quoi?
    merci

  12. #12
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Tout est là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var server = http.createServer(function(req, res) {    
            fs.readFile('index.html', 'utf-8', function(error, content) {
            res.writeHead(200, {"Content-Type": "text/html"});
            res.end(content);
        });
    });
    Le serveur que tu déclares ne fait qu'une chose ici : renvoyer la page index.html à toutes les requêtes quelqu'elles soient.

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    merci bcp de votre reponse .

    en fait votre question m'avait mis la puce a l'oreille et j'ai commencé a réfléchir sur ce point.

    je vais donc voir comment changer cela et faire en sorte d'instancier le serveur pour "ecouter" mes "clients"

    merci

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    Bonjour,

    J'ai essayé de chercher un moyen de "créer" un serveur node.js dont l'unique travail est "d'écouter les clients" et de leur répondre en renvoyant le résultat de requêtes, mais je ne réussi pas pouvez vous me guider

    J'ai une page php ou HTML qui utilise Jquery pour faire des mises à jour, et je mets à jour ma base de données et je souhaite faire des

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    socket.emit (TYPEEMIT, DATA)
    et le serveur va faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    socket.on(TYPEEMIT, function(data){
       Traitement mysql
    })
    encore une fois en espérant avoir été claire et que ce que je veuille faire soit possible, sinon il me faudra régénérer ma page via node, c'est une peu fastidieux

    merci

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

Discussions similaires

  1. Récupérer un tableau html multidimensionnel associatif sous javascript
    Par Mormegil dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/04/2007, 17h47
  2. Afficher des balises HTML dans une chaine javascript
    Par lapaupiette dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/03/2007, 10h19
  3. Comment gérer les objects déclarer en HTML dans un script JAVASCRIPT?
    Par Thauglor dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/04/2006, 14h54
  4. Comment mettre du HTML dans des alert javascript?
    Par funwolf74 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/04/2006, 12h40
  5. afficher une phrase dans le HTML a partir du javascript
    Par amelhog dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/08/2005, 17h02

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