我得到这个错误。
错误:500:内部服务器错误:不应在此策略中执行具有有效分页 cookie 的查询
当我在 CRM 2011 的 WebResource 中调用此代码时
self.loadWorkItems = function () {
var user = self.user();
var bid = user.BusinessUnitId.Id();
var systemUserId = user.SystemUserId();
var results = new Array();
SDK.REST.retrieveMultipleRecords(
"QueueItem",
"$select=*&$skip=" + self.page() * self.pageSize() + "&$top=" + self.pageSize() + "&$orderby=CreatedOn asc&$filter=OwningBusinessUnit/Id eq guid'" + bid + "' and StateCode/Value eq 0",
function (r) {
results = results.concat(r);
},
function (error) {
self.lastError(error.message);
},
function (x) {
for (var i = 0; i < results.length; i++) {
var item = results[i];
var r = ko.mapping.fromJS(item, workItemMapping);
self.workQueue.push(r);
}
}
);
};
这是 knockoutjs 视图模型的一部分。我正在尝试制作一个“更多”按钮,该按钮可以从服务器获取下一页数据并将其扔到正在显示的列表的末尾。
页面加载得很好,第一页又回来了,但是当请求下一页时,我得到了这个错误。
关于如何在没有错误的情况下拨打电话的任何想法?
编辑
我弄错了似乎 $skip > 0 的一些调用有效。在这里发疯。
编辑
我认为这个错误试图告诉我的是,skip/top 组合超过了总记录数,而不是给我任何东西(如我所料),它抛出了一个异常。
所以新的问题是如何避免这种愚蠢?我想现在我必须计算所有记录,并确保我不会翻页太多。