Я пытаюсь вызвать 2 API REST и затем заполнить выпадающий список select2.Мой код select2 работает нормально для 1 вызова API, но не работает, если я пытаюсь вызвать 2 API в AJAX results .
То, как я пытаюсь вызвать второй API, выглядитно рискованно для меня, но я не слишком уверен, как мне этого добиться.Я могу вкладывать вызовы AJAX, если не использую их в select2, но это немного странный случай.
Любая идея о том, как этого добиться / или что я делаю не так, здесь
ниже приведен коддля этого:
Select2({
disabled : true,
minimumInputLength : 1,
multiple : true,
ajax : {
url : "/rest/api/2/user/picker" ,
type : "GET",
dataType : 'json',
cache : true,
// query parameters for the remote ajax call
data : function data(term) {
return {
query : term,
maxResults : 5,
showAvatar : true
};
},
// parse data from the server into form select2 expects
results : function results(data) {
var i, dataLength, dataUsers;
data = JSON.parse(data);
var users = [];
dataLength = data.users.length;
dataUsers = data.users;
for (var i = 0; i < dataLength; i++)
{
if (dataUsers[i].key != $scope.userInputs.owner.key) {
dataUsers[i].context = CommonConstants.RECIPIENT_AUTH_CONTEXT.USER;
users.push(dataUsers[i]);
}
}
if($scope.someBoolean){
ajax : {
url : "/rest/api/2/groups/picker",
type : "GET",
dataType : 'json',
cache : true,
data : function data(term) {
return {
query : term,
maxResults : 5
};
},
success: function(responseForGroups){
var groupData = JSON.parse(responseForGroups);
var dataGroups, groupsLength;
dataGroups = groupData.groups;
groupsLength = groupData.total;
for (var i = 0; i < groupLength; i++)
{
dataGroups[i].context = CommonConstants.RECIPIENT_AUTH_CONTEXT.GROUP;
dataGroups[i].key = dataGroups[i].name;
dataGroups[i].displayName = dataGroups[i].name;
users.push(dataGroups[i]);
}
}
};
}
return {
results : users
};