我正在尝试使用select2 js最新版本来获取ajax结果,但是我收到以下错误:
jQuery.Deferred exception:无法读取属性'结果'未定义的 TypeError:无法读取属性'结果'未定义的
我正在使用的jQuery版本: jquery-3.2.1.min
我正在使用的Bootstrap版本: 4
这是我的代码:
$(document).ready(function(){
$('#category').select2({
placeholder: 'Subjects',
minimumInputLength: 3,
allowClear: true,
ajax:{
url: "<?php echo base_url(); ?>library/ajax-categories",
dataType: "json",
delay: 250,
data: function(params)
{
return{
search: params.term,
type: 'public'
};
},
processResults: function(data, page)
{
var newResults = [];
$.each(data, function(index, item)
{
newResults.push({
id: item.CategoryID,
text: item.CategoryName
});
});
return
{
results: newResults
}
}
}
});
});
&#13;
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<select class="select2 form-control" name="category[]" id="category" placeholder="Choose Subjects" multiple>
</select>
&#13;
我从服务器端脚本获得的响应:
[
{"CategoryID":"1","CategoryName":"A Name"},
{"CategoryID":"2","CategoryName":"B Name"},
{"CategoryID":"3","CategoryName":"C Name"}
]
我在select2模式中转换了以下响应,即&#34; id,text&#34;正如你在我的JS代码中看到的那样。
请帮助我解决此错误。