angularJS中的调用函数
我需要帮助-如何在区域成功中从AngularJS调用angularJS中的调用函数,angularjs,html,function,Angularjs,Html,Function,我需要帮助-如何在区域成功中从AngularJS调用myFunction var app = angular.module('app', []); app.controller("MyController", function($scope, $http) { $scope.myFunction = function() { alert("HI"); }; $http.get('myWS.asmx/myService?callback=?', { params
myFunction
var app = angular.module('app', []);
app.controller("MyController", function($scope, $http) {
$scope.myFunction = function() {
alert("HI");
};
$http.get('myWS.asmx/myService?callback=?', {
params: {
userName: 'test',
procedureName: "EXECUTE myProcedure"
}
})
.success(
function(data) {
//CALL MY FUNCTION HERE!
})
.error(
function() {
alert("ERROR");
}
);
});
我试了好几次,但什么也没有;有什么解决方案或例子吗
$http.get('myWS.asmx/myService?callback=?', {
params: {
userName: 'test',
procedureName: "EXECUTE myProcedure"
}
})
.success(
function(data) {
$scope.myFunction();
})
.error(
function() {
alert("ERROR");
}
);
基本上。您不需要$scope,只需使用它,并在回调函数的作用域之外创建一个实例:
var app = angular.module('app', []);
app.controller("MyController", function($http) {
var scope = this;
this.myFunction = function() {
alert("HI");
};
$http.get('myWS.asmx/myService?callback=?', {
params: {
userName: 'test',
procedureName: "EXECUTE myProcedure"
}
})
.then(
function(data) {
scope.myFunction();
},
function() {
alert("ERROR");
}
);
});
成功和错误在较新的Angular版本中不起作用,您需要。然后,由于内置了两个函数。以下是示例
var app = angular.module('app', []);
app.controller("MyController", function ($scope, $http) {
$scope.myFunction = function () {
alert("HI");
};
$scope.myFunctionLoadData = function () {
$http.get('myWS.asmx/myService?callback=?', {
params: {
userName: 'test',
procedureName: "EXECUTE myProcedure"
}
})
.success(
function (data) {
$scope.myFunction();
})
.error(
function () {
alert("ERROR");
}
);
};
$scope.myFunctionLoadData();
});
请编辑并更正您的问题(重复),否则我打赌它将很快关闭。并提供一些上下文,请参见
$scope.myFunction()
是否应该工作?你确定你的.get
甚至启动了.success
?@Goldenowner.success$scope.myFunction()没有工作!你有什么错误吗?我已经更新了我的答案,使用。然后代替success和errornow工作函数,但不工作从http接收数据!你确定数据回来了吗?在我上面的例子中,成功和错误都起作用,只是我不知道如何调用任何函数。你想更新什么?-1:不使用$scope是非常不合理的,可能会导致问题$范围存在是有原因的,请使用它。另一个在作用域上定义函数并相应调用它的解决方案是正确的。@Nathan John Papa建议将$scope用作服务,但当您不需要$scope提供的任何功能时,controllerAs语法是正确的,因为它少了一个依赖项-@paris0000这是正确的。如果它不起作用,那么你就遇到了另一个问题。顺便说一句,如果缩小,这个问题将被打破:使用控制器语法。。。controller(“MyController”[“$scope”,“$http”,函数($scope,$http){…}]);http请求肯定成功了吗?(也就是说,你可以在成功功能中设置一个警报,它就会触发)@Nathan是的,我设置了警报!我已经创建了一个小提琴,上面的代码可以工作。。。您是否检查了控制台中的其他错误?