2015-02-09 70 views
1

当我使用此代码,工作,我得到TEM响应 “OK”:http.get问题的角度+的NodeJS

controller.js

var myApp = angular.module('myApp',[]); 

myApp.controller('AppController',['$scope','$http',function($scope,$http){ 

    $http.get('/'). 
     success(function (response) { 
     console.log("ok"); 
    }); 

}]); 

server.js

var express = require('express'); 
var app = express(); 

app.use(express.static(__dirname + "/public")); 

app.get('/', function (req, res){ 

    var person1 = { 
     name: 'Tim', 
     email:'[email protected]', 
     number:'32232233' 
    }; 

    var person2 = { 
     name :'Dani', 
     email:'[email protected]', 
     number:'22222222' 
    }; 

    var contactList = [person1,person2]; 

    res.json = contactList; 
    console.log("send work"); 
}); 

app.listen(3000); 
console.log("Server running on port 3000"); 

但是,当我更改$http.get('/')$http.get('/list')app.get('/', function (req, res)app.get('/list', function (req, res)不起作用。

该得到的时间“列表”留等待,直到永远,当我停止节点服务器,我得到“GET http://localhost:3000/list网:: ERR_EMPTY_RESPONSE”。

+0

res.json(contactList); – 2015-02-10 00:01:57

回答

2

你实际上没有调用res.json()方法。

确保你实际上是在调用该方法,而不是分配给它等于联系人列表:

res.json(contactList); 

res.json = contactList 

在背景:

app.get('/list', function (req, res){ 

    var person1 = { 
     name: 'Tim', 
     email:'[email protected]', 
     number:'32232233' 
    }; 

    var person2 = { 
     name :'Dani', 
     email:'[email protected]', 
     number:'22222222' 
    }; 

    var contactList = [person1,person2]; 

    res.json(contactList); 
    console.log("send work"); 
}); 

原因您可能在'/'上得到回复是因为您的应用托管在'/'上,因此您将得到回复。