我正在尝试按照以下https://egghead.io/lessons/angularjs-http
中的教程进行操作我得到的错误是TypeError:无法读取null
的属性“1”我有以下目录结构:
expressproject/
index.js
angularproject/
app.js
index.html
我的index.js文件如下所示:
var express = require('express');
var http = require('http');
var cors = require('cors');
var app = express();
app.use(express.bodyParser());
app.use(cors());
app.set('port', 3000);
app.get('/users', function (req, res) {
res.send({hello: 'World'})
})
http.createServer(app).listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
});
我的app.js文件如下:
var app = angular.module("app", []);
app.controller("AppCtrl", function($http) {
$http.get('http://localhost:3000/users')
.success(function(data) {
console.log(data)
})
})
我的index.html文件如下:
<!DOCTYPE html>
<html>
<head>
<title>Http test</title>
</head>
<body ng-app="app" ng-controller="AppCtrl in app">
<script src='angular.js'></script>
<script src='app.js'></script>
</body>
</html>
当我运行快速服务器并将我的网络浏览器指向
时(http://localhost:3000/users)
我明白了:
{
"hello": "World"
}
这是我所期待的。 我已经尝试使用python SimpleHTTPServer运行angularjs部分,没有任何服务器,我仍然得到相同的错误。
答案 0 :(得分:0)
您的ng-controller
语法不正确,而不是:
ng-controller="AppCtrl in app"
应该只是:
ng-controller="AppCtrl"
或者如果您需要别名:
ng-controller="AppCtrl as ctrl"
编译器无法识别in
令牌,因此发生了错误。