无法加载Select2 Ajax结果

时间:2019-02-19 23:09:02

标签: ajax jquery-select2 ajaxform jquery-select2-4 ui-select2

每当我尝试在select2 ajax搜索栏中搜索结果时,都会收到以下消息:

  

“无法加载结果”

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 :(得分:0)

您的代码应如下所示。不需要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 or transform数据以某种格式使用。