我试图使用Select2来使用ajax / json加载远程数据,但我一直收到错误:
TypeError:data.results未定义
我的代码是:
$('#tags').select2({
ajax: {
url: 'http://localhost:8090/getallusers',
dataType: 'json',
quietMillis: 100,
data: function (term) {
return {
term: term
};
},
results: function (data) {
return data;
}
}
});
我真的不明白这个问题!
答案 0 :(得分:18)
Select2需要将结果作为具有id:和text:attributes。
的对象的集合像:
[{'id':1,'text':'Demo'},{'id':2,'text':'Demo 2'}]
尝试重新格式化您的回复,如:
$('#tags').select2({
ajax: {
url: 'http://localhost:8090/getallusers',
dataType: 'json',
quietMillis: 100,
data: function (term) {
return {
term: term
};
},
results: function (data) {
var myResults = [];
$.each(data, function (index, item) {
myResults.push({
'id': item.id,
'text': item.first_name + " " + item.last_name
});
});
return {
results: myResults
};
}
}
});