2015-12-12 3 views
1

jquery ajax возвращает json с сервера и пытается связать возвращенный json в выпадающий список с помощью angularjs.Bind dropdownlist из jquery ajax call success function using angularjs

мой Аякса вызов:

$.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; 
} 
}); 

DropDownList в 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> 

пожалуйста, подсказывают, как связать DropDownList с JQuery Ajax вызова с помощью angularjs.

+0

Почему вы не используете услугу $ http? Это угловой способ – Gianmarco

+0

да, он работает через $ http, но мое требование - использование службы jquery ajax. – sen

+0

Я не вижу, как используется служба $ http ... почему это требование? – Gianmarco

ответ

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-вызова или $ ресурса.

+0

Уважаемый NenadP, он работает хорошо. причина, по которой я хочу, я хочу проверить производительность с 1000 навыками uniqe. большое спасибо. – sen

+0

А, ладно тогда - рад помочь :) – NenadP