【发布时间】:2017-12-07 22:00:34
【问题描述】:
所以我正在学习 AngularJS,我正在尝试替换我从 web 服务获取数据并实时将其分配给使用 ng-repeat 绑定的变量的不太漂亮的方法。我最想实现的就是进行异步调用。我现在不能使用它,因为 AJAX 在数据返回到范围变量后返回数据。
我当前的代码如下所示:
var app = angular.module("Listt", []);
app.controller(
"ListtController",
function ($scope) {
$scope.results = {
response: [{
name: '',
surname: '',
age: ''
}]
};
$scope.searchListt = function () {
loadingAnimationStart();
$scope.results = getListt();
loadingAnimationStop();
};
function getListt() {
var returnData;
$.ajax({
url: 'listt',
type: "POST",
async: false,
data: {
age_from: $('[name="age-start"]').val(),
age_to: $('[name="age-end"]').val()
},
success: function (data) {
returnData = JSON.parse(data);
}
});
return returnData;
}
}
);
在 HTML 中,我使用 ng-click 表示搜索功能
<button ng-click="searchListt()">Search</button>
【问题讨论】:
-
您在
getListt()函数中所做的全部工作理想情况下应该归于角度上称为“服务”的东西。也可以使用$httpangular 的内置服务来代替 ajax 调用。
标签: jquery html angularjs ajax