Я новичок в javascript, функциях обратного вызова и select2. Заранее спасибо за помощь:)
Я смотрю на реализацию select2 для поиска по API, но мне придется использовать axios вместо метода jQuery по умолчанию. Ниже мой код. Я могу отправлять и получать результаты, но я не уверен, как использовать обратный вызов успеха.
Я получаю «Ошибка типа: успех не является функцией»
$("#profile-select").select2({
ajax: {
transport: function(params, success, failure){
axios.post("/rest/vue/1.0/profile/search", {query: $("#profile-select").val()})
.then(function(response){
success(response);
})
.catch(function(error){
alert(error);
});
},
processResults: function(data){
var processedArray = [];
data.profiles.forEach(function(item){
processedArray.push({id: item.ID, text: item.name});
});
return processedArray;
}
},
minimumInputLength: 2,
placeholder: "Select a profile",
allowClear: true
});
Вопросы
- Как вернуть данные ответа для processResults в функции .then по запросу axios? Документация на https://select2.org/data-sources/ajax
- Как лучше всего передать входные данные из списка выбора в запрос на публикацию? В настоящее время я использую функцию jQuery.val (), которая не работает.