Javascript 选择2 JQuery';示例中的AJAX方法不起作用

Javascript 选择2 JQuery';示例中的AJAX方法不起作用,javascript,jquery-select2,Javascript,Jquery Select2,我想使用select2.js 4.0.5创建一个搜索输入字段。我看了一下,基本上,我想通过在不使用模板结果(仅返回文本)的情况下重新创建它们来学习 然而,我不能让它工作。这是我能得到的最接近的: $(文档).ready(函数(){ $(“.js数据示例ajax”)。选择2({ 阿贾克斯:{ url:“https://api.github.com/search/repositories", 数据类型:“json”, 延误:250, 数据:函数(参数){ 返回{ q:params.term,//搜索

我想使用select2.js 4.0.5创建一个搜索输入字段。我看了一下,基本上,我想通过在不使用模板结果(仅返回文本)的情况下重新创建它们来学习

然而,我不能让它工作。这是我能得到的最接近的:

$(文档).ready(函数(){
$(“.js数据示例ajax”)。选择2({
阿贾克斯:{
url:“https://api.github.com/search/repositories",
数据类型:“json”,
延误:250,
数据:函数(参数){
返回{
q:params.term,//搜索项
页码:params.page
};
},
processResults:函数(数据、参数){
//将结果解析为Select2所需的格式
//因为我们使用的是自定义格式函数,所以不需要
//更改远程JSON数据,除非指示无限
//可以使用滚动
params.page=params.page | | 1;
返回{
结果:数据项,
分页:{
更多:(params.page*30)
即使直接复制示例中的所有内容也不起作用:


我对JS和Ajax还是新手。我肯定我错过了什么。有人能解释一下我遗漏了什么吗?

我终于让它运行起来了。虽然我不知道如何调整搜索框的大小:()

HTML

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

选择将适应开头包含的值。因为您通过ajax加载数据,所以它最初是空的。因此,您必须使用style属性或使用类手动设置宽度。
<select class="js-data-example-ajax"></select>
$(".js-data-example-ajax").select2({
    ajax: {
      url: "https://api.github.com/search/repositories",
      contentType: 'application/json',
      dataType: 'json',
      data: function(params) {
        return {
          q: params.term, // search term
          page: params.page
        };
      },
      processResults: function(data) {
        return {
          results: data.items
        };
      },
      cache: false
    },
    templateResult: formatResult
  });

  function formatResult(result) {

    return result.full_name;
  };