尽管ldapjs 文档中涵盖了分页,但我不清楚如何使用 ajax 客户端在我的应用程序中实现分页。假设我对服务器进行了一个简单的调用,以在 LDAP 中搜索组织中的所有人员,最初是在具有 10 个条目的第一页中搜索,如下所示:
$.ajax({
method: "GET",
url: "LDAPSearch",
data: {
filter: "(ou=People)",
pageNum: 1,
entriesPerPage: 10
}
}).done(function( result ) {
console.log('result: ', result);
});
我希望服务器发回包含前 10 个条目的结果以及搜索产生的条目总数,以便我知道会有多少页。在服务器上的 ldapjs 代码中,我希望 pageNum 的 opts 中有一个参数,例如:
var opts = {
filter: '(objectclass=commonobject)',
scope: 'sub',
paged: true,
pageNum: 1, //This is not a valid option, but how I would expect it to work
sizeLimit: 10
};
client.search('o=largedir', opts, function(err, res) {
assert.ifError(err);
res.on('searchEntry', function(entry) {
// do per-entry processing
});
res.on('page', function(result) {
console.log('page end');
});
res.on('error', function(resErr) {
assert.ifError(resErr);
});
res.on('end', function(result) {
console.log('done ');
});
});