javascript - 即使 JSON 格式正确,Select2 也不显示 AJAX 结果

标签 javascript jquery ajax json jquery-select2

这是我的代码:

$('.selecter_test').select2(
            {
                placeholder: 'Enter a username...',
                minimumInputLength: 0,
                allowClear: true,
                ajax: {
                    quietMillis: 200,
                    url: "/ajax/test",
                    dataType: 'jsonp',
                    data: function (term, page) {
                        return {
                            q: term
                        };
                    },
                    results: function (data, page) {

                        return { results: data.Results};
                    }

                }
            });

在后端,我加载一个包含 id 和 name 的数组,并使用 json_encode 函数返回它。我的 AJAX 调用响应如下所示(在 Chrome 中的“网络/响应”选项卡下查看):

[{"id":4017,"text":"10anabanana10"},{"id":4813,"text":"adria14na.bbb@gmail.com"}... ]

但是,我的 Select2 只是一直显示“正在搜索...”文本,并且什么也不显示。我听说我不需要使用 formatResult 和 formatSelectin 函数,因为我使用常规范式。

最佳答案

我通过将数据类型参数更改为 json 而不是 jsonp 来修复它。在 Stackoverflow 上的其他地方找到了答案。乔恩的观点很好。

关于javascript - 即使 JSON 格式正确,Select2 也不显示 AJAX 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24062126/

相关文章:

javascript - 如何使用 filereader 对每个文件输入进行预览

jquery - 如何克隆 StackOverFlow JQuery 接口(interface)?

javascript - 将 jQuery 事件应用于所有类元素?

javascript - 在 Google Chart 中显示/隐藏线条/数据

php - 使用 ajax post 传递 php 值

Javascript/Ajax/PHP - 小问题让我抓狂

javascript - 我如何从 PhoneGap camera.getPicture 获取文件对象?

javascript - 如何使用 Javascript 在单个对象中映射多个对象数据?

javascript - 绑定(bind)属性值时出错 - Angular 包含和指令

javascript - 无法在 Seadragon 中创建多个叠加层