Не удалось загрузить результаты Select2 Ajax - PullRequest
0 голосов
/ 20 февраля 2019

Всякий раз, когда я пытаюсь найти результат в панели поиска ajax select2, я получаю следующее сообщение:

'Не удалось загрузить результаты'

Html :

<select class="js-data-example-ajax form-control" multiple="multiple"></select>

Javascript :

$('select').each(function(idx, ele) {
            $(ele).select2({
                theme: 'bootstrap4',
                placeholder: ele.getAttribute('placeholder'),
                ajax: {
                    url: '/product/api/search',
                    dataType: 'json' },
                    type: 'GET',
            });
        });

Я думаю, что мои настройки Ajax неверны, не могли бы вы помочь?

1 Ответ

0 голосов
/ 20 февраля 2019

Ваш код должен выглядеть следующим образом.Метод GET не требуется.

$('select').each(function(idx, ele) {
  $(ele).select2({
      ajax: {
        url: 'https://api.github.com/search/repositories',
        dataType: 'json'
        // Additional AJAX parameters
      }
   }
});

Также ваша проблема может быть в исходном формате json, так как для select2 нужен собственный формат с results.

. Для этого выберите Select2.ожидает очень специфический формат данных.Этот формат состоит из объекта JSON, содержащего массив объектов, введенных ключом результатов.

{
  "results": [
    {
      "id": 1,
      "text": "Option 1"
    },
    {
      "id": 2,
      "text": "Option 2"
    }
}

Также вы можете использовать processResults или преобразовывать данные в определенный формат.

...