ECONNREFUSED, wenn Sie machen, GET-Anfrage in der app, aber-API gibt JSON-erfolgreich

Schreibe ich eine Knoten-app Reagieren, mit Knoten-postgres und superagent für die backend Aufrufe.
Sagen wir mal ich mache ein GET-Anforderung und Verwendung der JSON-es gibt, um füllen Sie eine Tabelle der Schüler. Mein API sieht wie folgt aus:

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);
    });
  });
});

Laden der Seite, das heißt aus dem store um einen Studenten-array. Es scheint, wie etwas läuft hier falsch:

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;
       }
     });
 }

Wenn ich curl localhost:3000/api/getStudents bekomme ich die JSON-Antwort, die ich erwarten.

Jedoch, wenn ich diese auf die Seite laden, bekomme ich einen ECONNREFUSED-Fehler:

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

Nicht sicher, warum ich bin immer zu einem Fehler bei der HTTP-port. Dies ist mein erstes mal mit Knoten-postgres, superagent, und Reagieren, so dass jede Hilfe wird sehr geschätzt.

Edit: Vergessen zu erwähnen, dass ich in der Lage bin, um POST-Anfragen und einfügen von Objekten in die Datenbank ohne Fehler. Dieser Fehler tritt nur auf, wenn ich versuche, eine GET-Anforderung.

Wussten Sie, öffnen Sie port 80? Scheint super-agent wird standardmäßig auf localhost:80, es sei denn, Sie geben Sie einen host und port und scheint, wie Sie möchten, dass der port 3000.
Wissen Sie, wie Sie erreichen, dass @Quy? Ich finde keine Dokumentation oder Beispiele für die Einstellung der port mit superagent. Ich habe versucht .set('port', 5432) und .set('port', 3000), aber kein Glück so weit. Danke für die Anregung.
versuchen request.get('http://localhost:3000/api/getStudents')

InformationsquelleAutor johnprisco | 2015-12-08

Schreibe einen Kommentar