Я пытаюсь динамически заполнять ListBox. Но он не работает с ajax-запросом.данные запроса ajax не загружаются - Angular JS
Вот что я делаю.
Мой запрос Ajax:
angular.module("confessions_module").factory("Universities",function(){
var service = {};
service.getUniversitiesAjax=function(callback)
{
$.ajax({
type:'GET',
url:'myurl',
success:function(e)
{
universitiesList = $.parseJSON(e);
callback(universitiesList);
}
});
// var a = [{ 'name':'asdasdsad','id':123},{ 'name':'mozi','id':123}];
// callback(a)
}
return service;
});
Мой контроллер вызова функции и заполнение массива:
Universities.getUniversitiesAjax(
function(university)
{
for(var i=0;i<university.length;i++)
{
var unii = { 'name' : university[i].name , 'id' : university[i].id };
$scope.unis.push(unii);
}
}
);
Мой Вид:
<select id="dd_universities">
<option ng-repeat="uni in unis">{{uni.name}}</option>
</select>
В настоящее время существуют две линии комментировал в My Ajax Request
код. Когда я uncomment
эти две строки, мои данные заполняются без проблем. Но всякий раз, когда я пытаюсь заполнить его, используя код запроса ajax, как это происходит сейчас. Это не работает. В чем может быть проблема ?
вы должны использовать $ http вместо $ .ajax, иначе вы можете столкнуться с некоторыми проблемами –
$ http предоставляется угловым? – Mj1992
Да, это инъекционная услуга, и тогда вы можете просто «$ http.get (« myurl »). Success (function() {})' Самое большое преимущество этого состоит в том, что ответы перевариваются внутри угловой структуры, 'нужно использовать '$ scope. $ apply()'. http://docs.angularjs.org/api/ng.$http –