[DEBUTANT] récupérer des données d'une fonction -> route

theflayer
Messages postés
125
Date d'inscription
dimanche 28 février 2010
Statut
Membre
Dernière intervention
21 juin 2015
- Modifié par theflayer le 21/06/2015 à 18:09
Bonjour,

je débute en NodeJs et je galère pas mal, soyez donc indulgent si ma question est simpliste.

J'aimerais créer une petite appli, qui récupère des infos sur une BDD MySQL, et les renvoyer en JSON, pour que depuis mon front en AngularJS je puisse récupérer ces données en pointant sur l'URL, pour mon problème seul le serveur m'intéresse pour l'instant.

Pour commencer voici un morceau de mon code :

fichier crud.js
function read(table, columns, where){
  var columnsClause = (columns ? columns.join(', ') : '*');
  var req = 'SELECT ' + columnsClause  + ' FROM ' + table;
  var obj = "";
  
  if(where){
   var whereClause = (where ? where.join(' AND ') : '');
   req += ' WHERE ' + whereClause;
  }
  
  mySqlClient.query(
    req,
    function select(error, results, fields) {
   if (error) {
     console.log(error);
     mySqlClient.end();
     return;
   }
   
   if(results.length > 0){ 
     var strJson = JSON.stringify(results);
     console.log(strJson);
   }
   else{
    console.log("Pas de données");
   }
   mySqlClient.end();
    }
  ); 
 }


cette fonction marche très bien du moment que je fais des console.log().

mon fichier app.js
 var express = require('express');
 var crud = require('./crud.js');
 var app = express();
 
 app.get('/employee/read', function(req, res) { 
   
  res.writeHead(200,{ 'Content-Type': 'text/html'});
  <souligne>res.write(crud.read('e_employee'));</souligne>
  res.write('ok');
  res.end();
 }) 
 .listen(8080); 


la ligne soulignée est fausse et c'est la que je coince.
Ma question est : comment récupérer mes infos de ma fonction ici.
J'ai essayé en virant les console.log() et en faisant des return mais cela ne fonctionne pas.

Voilà, si vous pouviez éclairer ma lanterne pour que j'apprenne de nouvelle chose :).

Je vous remercie d'avance.