ECONNREFUSED lors de la prise en GET dans l'application, mais l'API renvoie du JSON avec succès

Je suis en train d'écrire un nœud application à Réagir, l'aide d'un noeud-postgres et superagent pour backend appels.
Disons que je suis en train de faire une demande d'OBTENIR et d'utiliser le JSON elle renvoie à remplir un tableau d'étudiants. Mon API ressemble à ceci:

import pg from 'pg';
import Router from 'express';
let router = new Router();
let conString = "postgres://user:pass@localhost/db_name";

router.get('/getStudents', function(req, res) {
  var results = [];

    pg.connect(conString, function(err, client, done) {
      if (err) {
       done();
       console.log(err);
       return res.status(500).json({success: false, data: err});
    }

    var query = client.query('SELECT first_name, last_name, email FROM students');

    query.on('row', function(row) {
      results.push(row);
    });

    query.on('end', function() {
      done();
      return res.json(results);
    });
  });
});

Au chargement de la page, ce qui est appelé à partir du magasin de jeu, les élèves de tableau. Il semble que quelque chose se passe mal ici:

var request = require('super agent');

function getStudents() {
   request
     .get('/api/getStudents')
     .set('Accept', 'application/json')
     .end(function(err, res) {
       if (err) {
         console.log("There's been an error: getting students.");
         console.log(err);
       } else {
         return res;
       }
     });
 }

Si je curl localhost:3000/api/getStudents, je reçois la réponse JSON j'attends.

Cependant, quand je l'appelle au chargement de la page, j'obtiens une ECONNREFUSED erreur:

Error: connect ECONNREFUSED 127.0.0.1:80]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 80,
response: undefined

Ne sais pas pourquoi j'obtiens une erreur sur le port HTTP. C'est ma première fois à l'aide d'un noeud-postgres, superagent, et de Réagir de sorte que toute aide est très appréciée.

Edit: Oublié de mentionner que je suis capable de faire des requêtes POST et de les insérer dans la base de données sans erreurs. Cette erreur se produit uniquement lorsque je suis tenter une requête GET.

  • Avez-vous d'ouvrir le port 80? Semble comme super-agent par défaut est localhost:80, sauf si vous spécifiez un hôte et un port et semble comme vous voulez le port 3000.
  • Savez-vous comment y parvenir, @Quy? Je ne trouve pas de documentation ou des exemples de réglage du port avec superagent. J'ai essayé .set('port', 5432) et .set('port', 3000), mais pas de chance jusqu'à présent. Merci pour la suggestion.
  • essayez request.get('http://localhost:3000/api/getStudents')
InformationsquelleAutor johnprisco | 2015-12-08