我第一次尝试使用AngularJS。在使用$http.post("url", data)
函数时,我会收到Error: $http is not defined
的控制台消息。
在HTML页面的顶部,我已经包含了除所有其他JS导入之外的AngularJS。
由于小部件依赖等原因,我还包括了其他JavaScript库。我的脚本导入部分如下:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script src="http://www.trirand.com/blog/jqgrid/js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="http://www.trirand.com/blog/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
我有一个控制器,用来向服务器发送一些数据:
function FormCtrl($scope) {
$scope.sendData = function(){
var data = "firstName=" + $scope.firstName + "&" +
"lastName=" + $scope.lastName + "&" +
"address=" + $scope.address + "&" +
"postcode=" + $scope.postcode;
$http.post("/data/person/put", data);
};
}
sendData
函数绑定在一个按钮上。一切正常,直到调用$http.post(...)
时控制台输出错误信息。
完整的错误列表如下:
Error: $http is not defined
$scope.sendData@http://localhost:8080/angularjs/:96
Mc/x/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:71
ec[c]</</</<@https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:142
e.prototype.$eval@https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:87
e.prototype.$apply@https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:87
ec[c]</</<@https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:142
c.event.handle@http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js:63
c.event.add/o@http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js:57
https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js
Line 61
我需要做些什么来配置AngularJS以使用$http.post
函数吗?
我直接从AngularJS文档的Shortcut Methods部分中提取了用法,文档在这里:http://docs.angularjs.org/api/ng.$http
有人可以帮忙吗?
谢谢 Adam