使用angularjs从jquery ajax调用成功函数绑定下拉列表

时间:2015-12-12 13:19:10

标签: angularjs ajax

jquery ajax从服务器返回json并尝试使用angularjs将返回的json绑定到下拉列表中。

我的ajax电话:

$.ajax({
type: "POST",
url: "gets",
datatype: "json",
async: true,
data: 
{
'spj': JSON.stringify(spjson),                
'csrfmiddlewaretoken': $("input[name=csrfmiddlewaretoken]").val()
},
success: function (json)
{
var jsonList = json;
}
});

html中的下拉列表:

<html>
<select ng-model='selvalue' ng-options='val.category for val in vals'> 
</select>
</html>

角度控制器:

<script>
var app = angular.module('ddtest', ['ui.utils']);
app.controller('MainCtrl', function ($scope) 
{
$scope.vals = jsonList 
}
</script>

请建议如何使用angularjs绑定来自jquery ajax调用的下拉列表。

1 个答案:

答案 0 :(得分:0)

首先,为什么不使用棱角$http

如果你真的想这样做,你的ajax呼叫需要住在你的控制器内(这本身不是一个好习惯),并且在你的通话中......

success: function (json) {
  $scope.vals = json;
  $scope.$apply(); //you will need to apply because angular does not do digest update here
}

但正如我所提到的,理想情况下你会创建一个service来保存你的$ http电话或$ resource。