2016-08-09 16 views
0

私のMySqlデータベースからいくつかのデータをノード/エクスプレスを介してAngularコントローラに取得しようとしていますが、ルーティングに問題があります。 エクスプレスと角を介してMySql dbからデータを取得

var users = require('./routes/users'); 
app.use('/users', users); 

そして、私のルートで

/users.jsファイル:私は私のapp.jsで

$scope.load = function() { 
     $http.get('/users'). 
      success(function(data, status, headers, config) { 
       console.log('success'); 
       $scope.todos = data; 
       console.log(data); 
       console.log($scope.todos); 

      }). 
      catch(function(data, status, headers, config) { 
      console.log('catch'); 
      console.log(status); 
       console.log(data); 
      }); 
    }; 

:私はget要求を行い、ロード機能を持つ角度制御装置においては

私が持っている:私は負荷()関数を発射すると

var express = require('express'); 
    var router = express.Router(); 
    var pool = require('../connection'); 

    /* GET users listing. */ 
    router.get('/users', function(req, res, next) { 

     pool.getConnection(function(err, connection){ 
      connection.query('SELECT * FROM `users` WHERE `first_name` = "Kees"', function(err, results){ 
       if(err) { 
        throw err; 
       }else{ 
        console.log(results); 
       } 
      }); 

      connection.release(); 
     }); 
    }); 

    module.exports = router; 

私の見解でapp.jsはリターンをログ:

GET /ユーザー404 54.369ミリ秒 - 1846

とブラウザが示しています:

http://localhost:3000/users 404(見つかりません)

キャッチ

オブジェクト{データをGET ""、status:404、config:Object、statusText: "Not Found"}

Expressを使用してデータを取得する正しい方法は何ですか?

答えて

2

あなたのapp.jsでは、既にすべての通話の経路を/usersに設定しています。つまり、users.jsファイル内のすべてのhttp要求にはすでにURLに含まれているHTTP要求があります。 ので、この:

router.get('/users', function(req, res, next) 

が実際にexample.com/users/usersから呼び出されます。

だけではなく、このようにそれを書く:

router.get('/', function(req, res, next) 
関連する問題