http.get问题angular + nodejs

当我使用这个代码,工作,我得到tem回应“确定”:

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:'tim@gmail.com', number:'32232233' }; var person2 = { name :'Dani', email:'Dani@gmail.com', 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('/') $http.get('/list')app.get('/', function (req, res) to app.get('/list', function (req, res)不起作用。

获取时间“列表”永远保持悬而未决 ,当我停止节点服务器时,我得到“GET http:// localhost:3000 / list net :: ERR_EMPTY_RESPONSE”。

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

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

 res.json(contactList); 

 res.json = contactList 

在上下文中:

 app.get('/list', function (req, res){ var person1 = { name: 'Tim', email:'tim@gmail.com', number:'32232233' }; var person2 = { name :'Dani', email:'Dani@gmail.com', number:'22222222' }; var contactList = [person1,person2]; res.json(contactList); console.log("send work"); }); 

你可能在'/'上得到响应的原因是你的应用程序托pipe在'/'上,所以你将得到一个响应。