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在'/'上,所以你将得到一个响应。