在此搜索中,我使用select2从数据库中获取分页结果,只有30个结果,每页限制为25个,因此有2页。 Select 2到达第2页后,将继续查询页面。我附加了第2页的网络请求和响应的屏幕快照,其中more标志从true变为false 我意识到这是Select2解析的非标准响应,因此我正在处理结果。这是我的select2代码。
$( 'select[name=school]' ).select2({
ajax: {
url: CORE_URL + 'api/search/schools',
dataType: 'json',
delay: 250,
data: function(params) {
return {
q: params.term, // search term
page: params.page || 1
};
},
results: function (data) {
log( data );
return {
results: $.map(data, function (item) {
log( item );
return {
text: item.name,
id: item.id
}
})
};
},
processResults: function (data) {
// Tranforms the top-level key of the response object from 'items' to 'results'
log( data );
return {
results: data.data.results,
pagination: {
more: data.data.pagination
}
}
}
},
placeholder: "Search for your school",
escapeMarkup: function(m) { return m; },
templateResult: formatSchool,
templateSelection: formatSchoolSelection,
minimumInputLength: 1
});