2016-05-18 15 views
0

こんにちは私は、この角度のプロジェクトでhttpbackendを使って偽のバックエンドを持っています。しかし、私はサーバーノードjsで私の偽のバックエンドを転送したいが、私は知らない。AngularJs Server Node js/get

だから、この瞬間のために私はこれを持っている:

var express = require('express') 
    , path = require('path') 
    , fs = require('fs') 
    , bodyParser = require('body-parser') 
    , morgan = require('morgan'); 

var apps = express(); 
var staticRoot = __dirname + '/'; 
apps.set('port', (process.env.PORT || 3000)); 
apps.use(express.static(staticRoot)); 
apps.use(bodyParser.urlencoded({ extended: false })); 
apps.use(bodyParser.json()); 
apps.use(morgan('dev')); 

apps.use(function (req, res, next) { 

    var ext = path.extname(req.path); 
    if (ext !== '') { 
     return next(); 
    } 
}); 



apps.get('/getTpl', function (req, res) { 

    res.writeHead(200); 
    res.end(JSON.parse(["tp1", "tp2", "tp3", "tp4", "tp5", "tp6", "tp7"])); 

}); 

apps.listen(apps.get('port'), function() { 
    console.log('serveur en route, port : ', apps.get('port')); 
}); 

マイコントローラ:

ctrl.tpls = []; 
     ctrl.tplJson = undefined; 

     diapoService.getTpl().then(function (response) { 
      ctrl.tpls = JSON.stringify(response.data); 
      console.log(response.data); 
     }); 

    function getTpl() { 
      return $http({ 
       method: 'GET' 
       , url: '/getTpl' 
      }); 

私は私の選択で私の配列を送信したいが、私の選択は、なぜ空のですか?してください

は、あなたがこの機能を変更する必要があなたの答え

+0

res.writeHeadおよびres.endの代わりにres.json(JSON.parse(....))を使用します。 – Molda

+0

ありがとうございますが、まだ仕事はありません –

答えて

0

のためにありがとうございました:

apps.get('/getTpl', function (req, res) { 
    res.status(200).json(["tp1", "tp2", "tp3", "tp4", "tp5", "tp6", "tp7"]); 
}); 

さらに私は角を使用していないが、私はあなたが応答を文字列化する必要はないと思います:

diapoService.getTpl().then(function (response) { 
    ctrl.tpls = JSON.stringify(response.data); // <- Is this necessary? 
    console.log(response.data); 
}); 
+0

ありがとうございます。それは動作しません:/ –