这有什么问题?
var modulo = angular.module('SWAApp', []);
modulo.controller('SWAAllocationController', ['$scope','$http', function RunSWAAllocation($scope,$http) {
$scope.LaunchAllocation = function RunSWAAllocation($scope, $http) {
$http.get('/MP3_SIOP/WS/SWAService.svc/PostSWAAllocation')
.success(function (data) {
pvt_BindHeaderData($scope, data);
alert("SWA Allocation OK");
})
.error(function (data, status) {
alert("Si è verificato un errore nel dei dati!")
});
}
}]);
和
<div class="row" ng-controller="SWAAllocationController">
<button type="button" ng-click="LaunchAllocation()">Run Allocation </button> ...
这给我$ http undefined(以及$ scope)
非常感谢你的帮助。
PS:对不起,如果我错过了什么或做错了什么,这是我的第一个问题,我对AngularJS不熟练
答案 0 :(得分:3)
从方法$scope.LaunchAllocation
中删除 $ scope和$ http 。
$ scope和$ http是您在控制器中导入的依赖项,无需在方法中添加参数。你可以直接使用它。如果你在方法中使用它作为参数并且在调用时没有传递任何东西(从ng-click),显然它们都是未定义的。
$scope.LaunchAllocation = function() {
$http.get('/MP3_SIOP/WS/SWAService.svc/PostSWAAllocation')
.success(function (data) {
pvt_BindHeaderData($scope, data);
alert("SWA Allocation OK");
})
.error(function (data, status) {
alert("Si è verificato un errore nel dei dati!")
});
}
此外,您无需在功能之后输入功能名称。您正在调用函数$scope.LaunchAllocation
而不是另一个函数。所以它实际上不需要
答案 1 :(得分:0)
我认为$http
undefined
{/ 1}}
$scope.LaunchAllocation = function RunSWAAllocation($scope, $http) {
替换为......
$scope.LaunchAllocation = function RunSWAAllocation() {
答案 2 :(得分:0)
我认为你应该替换
$scope.LaunchAllocation = function RunSWAAllocation($scope, $http)
与
$scope.LaunchAllocation = function RunSWAAllocation()