2015-02-20 4 views
2

Я использую Angularjs + выберите 2. Я динамически изменять URL Ajax, чтобы получить значение автозаполнения на основе фильтраУгловые JS выберите 2 изменить Аякс URL

Пример:

У меня есть 3 разных URL-адрес API,

Если пользовательский вариант является фильмом, тогда запрос должен перейти в REST API фильма.

Я следовал этому URL: select2 change ajax url

и сделал ниже Угловая JS

$scope.getbaseURL = function() { 
    $scope.baseurl = GENERAL_CONFIG.WebApi_Base_URL[$scope.type]; 
    return $scope.baseurl; 
} 

$scope.multi = { 
    minimumInputLength: 5, 
    ajax: { 
     headers: { 
      'Content-Type': 'application/json' 
     }, 
     url: $scope.getbaseURL() + "Lookup?lookup=Lookupvalue", 
     data: function (term, page) { 
      return { 
       key: term 
      }; // query params go here 
     }, 
     results: function (data, page) { 
      return { 
       results: data.LookupValue 
      }; 
     } 
    }, 
    dropdownCssClass: "bigdrop" 
} 

Где мой $ scope.type является выпадающий

image , 
Movie 
Song 

Но это не изменение BASE-адреса динамически или на основе выбора типа.

GENERAL_CONFIG.WebApi_Base_URL[$scope.type] это коллекция URL REST из конфигурационного файла

Может ли один помочь мне, спасибо

ответ

2

Параметр конфигурации url должен быть функцией, если вы хотите, чтобы быть динамичным. Попробуйте следующее:

$scope.getbaseURL = function() { 
    $scope.baseurl = GENERAL_CONFIG.WebApi_Base_URL[$scope.type]; 
    return $scope.baseurl + "Lookup?lookup=Lookupvalue"; 
} 

$scope.multi = { 
    minimumInputLength: 5, 
    ajax: { 
     headers: { 
      'Content-Type': 'application/json' 
     }, 
     url: $scope.getbaseURL, 
     data: function (term, page) { 
      return { 
       key: term 
      }; 
     }, 
     results: function (data, page) { 
      return { 
       results: data.LookupValue 
      }; 
     } 
    }, 
    dropdownCssClass: "bigdrop" 
} 
Смежные вопросы