选择2个未填充结果的ajax调用


Select 2 ajax call not populating with results

刚刚从github下载了一个select2文件,最新版本4.0.3,我想根据我输入的内容填充选项(ajax请求)

下面是代码

$('#usernetwork').select2({
    ajax: {
        url: 'someurl.php',
        dataType: 'json',
        delay: 250,
        data: function (params) {
          return {
            q: params.term, // search term
            page: params.page
          };
        },
        processResults: function (data, page) {
          return data.items;
        },
        cache: false
    },
    minimumInputLength: 1
});

url (someurl.php)显示这个json结果

[{"id":"1","text":"ClickWeb"},{"id":"2","text":"ClickWeb 1"},{"id":"3","text":"ClickWeb 2"},{"id":"4","text":"ClickWeb 3"}]

最后选择字段是这个

<select name="usernetwork" id="usernetwork" class="form-control">
</select>

这是我第一次尝试这个,现在我没有得到任何查询(用于测试目的)

结果没有出现,我不知道如何解决这个问题,任何提示?

试试我的答案,你唯一需要改变的是processResults回调中的返回语句,就像这样

return {
          results: data
       };

完整代码:

         $('#usernetwork').select2({
                    ajax: {
                        url: 'someurl.php',
                        dataType: 'json',
                        delay: 250,
                        data: function (params) {
                            return {
                                q: params.term, // search term
                                page: params.page
                            };
                        },
                        processResults: function (data, page) {
                             return {
                                results: data
                              };
                        },
                        cache: false
                    },
                    minimumInputLength: 1
                });