Javascript 对angularJs调用方法的Ajax调用
我仍然是使用这个angular的初学者,并且希望挖掘它从控制器获取返回值的能力 我只是想知道是否有可能使用ajax调用,然后获取返回值以传递给 我创建了一个函数,使用ajax从控制器获取值Javascript 对angularJs调用方法的Ajax调用,javascript,angularjs,ajax,asp.net-mvc,Javascript,Angularjs,Ajax,Asp.net Mvc,我仍然是使用这个angular的初学者,并且希望挖掘它从控制器获取返回值的能力 我只是想知道是否有可能使用ajax调用,然后获取返回值以传递给 我创建了一个函数,使用ajax从控制器获取值 function myData() { $.ajax({ url: '/Home/testGetMSSQL', type: 'GET', dataType: 'json', success: function (data) {
function myData() {
$.ajax({
url: '/Home/testGetMSSQL',
type: 'GET',
dataType: 'json',
success: function (data) {
return data
},
error: function (jqXhr, textStatus, errorThrown) {
alert(errorThrown);
}
});
}
这是我的目标,我需要在角度调用中传递上面的函数,如下所示:
var app = angular.module('myApp', ['ui.bootstrap']);
app.controller('myCtrl', function ($scope) {
$scope.customers = myData(),
$scope.people = [],
$scope.currentPage = 1,
$scope.numPerPage = 5,
$scope.maxSize = 5;
$scope.numPages = function () {
return Math.ceil($scope.customers.length / $scope.numPerPage);
};
$scope.$watch('currentPage + numPerPage', function () {
var begin = (($scope.currentPage - 1) * $scope.numPerPage)
, end = begin + $scope.numPerPage;
$scope.people = $scope.customers.slice(begin, end);
});
});
现在它不起作用,但如果我要传递一个硬编码值,它会起作用:
var app = angular.module('myApp', ['ui.bootstrap']);
app.controller('myCtrl', function ($scope) {
$scope.customers = [{
"Name": "Alfreds Futterkiste",
"City": "Berlin",
"Country": "Germany"
}],
$scope.people = [],
$scope.currentPage = 1,
$scope.numPerPage = 5,
$scope.maxSize = 5;
$scope.numPages = function () {
return Math.ceil($scope.customers.length / $scope.numPerPage);
};
$scope.$watch('currentPage + numPerPage', function () {
var begin = (($scope.currentPage - 1) * $scope.numPerPage)
, end = begin + $scope.numPerPage;
$scope.people = $scope.customers.slice(begin, end);
});
});
我只是指这个例子:
感谢您的建议/意见。TIA尝试
$http
而不是使用ajax
,使其保持角度摘要循环
var app = angular.module('myApp', ['ui.bootstrap']);
app.controller('myCtrl', function ($scope,$http) {
$scope.spinner = true;
$scope.init = function(){
$http.get('/Home/testGetMSSQL').then(function(res){
$scope.customers = res;
$scope.spinner = false;
})
}
$scope.people = [],
$scope.currentPage = 1,
$scope.numPerPage = 5,
$scope.maxSize = 5;
$scope.numPages = function () {
return Math.ceil($scope.customers.length / $scope.numPerPage);
};
$scope.$watch('currentPage + numPerPage', function () {
var begin = (($scope.currentPage - 1) * $scope.numPerPage)
, end = begin + $scope.numPerPage;
$scope.people = $scope.customers.slice(begin, end);
});
});
在html
中:
<div ng-controller="myCtrl" ng-init="init()" >
注意:尝试放置某种微调器,以便在从服务器端获取
$scope.customer
之前禁用UI。我尝试过,但在init()旁边的括号上出错。我已经在html上声明了它,但是在我的控制台上出现了这个错误。“未捕获的语法错误:意外标记{@Rockn'Roll:立即尝试。我在init()之前错过了$scope
。”