【发布时间】:2015-04-08 15:02:42
【问题描述】:
我在 Sharepoint 中检查列表项权限的功能似乎不起作用。它被放置在 Sharepoint 2010 站点上的 aspx 文件中。尝试运行它时,我在下面收到一条错误消息。有谁知道应该怎么做?我在 C# 中找到了大量相同函数的示例,但在 Javascript 中找不到任何内容。谢谢!
function checkPermissions(){
var ctx = new SP.ClientContext.get_current();
var oBooksList=ctx.get_web().get_lists().getByTitle('test Repository');
var listItem=oBooksList.getItemById(2);
//ctx.load(listItem.get_roleAssignments());
ctx.load(listItem, 'RoleAssignments');
ctx.executeQueryAsync(
Function.createDelegate(this, this.onSucceededCallback),
Function.createDelegate(this, this.onFailedCallback));
}
function onSucceededCallback(sender, args){
alert('it worked');
}
错误信息:
SCRIPT5007: Unable to get value of the property 'apply': object is null or undefined
【问题讨论】:
-
我唯一能看到的......(除非它是故意遗漏的)是你的代码中没有
onFailedCallback函数。这会导致类似于它调用Function.prototype.apply或onFailedCallback.apply完成后。 -
感谢 Michael,添加 onFailedCallback 函数后即可使用。但是我在检索回调数据时遇到了困难,所以我无法检查返回的数据是否正确。有什么想法吗?
-
如果我没记错的话,失败回调只有 1 个参数,那就是错误。我认为 error.get_message() 中有错误消息
-
其实有2个..msdn.microsoft.com/en-us/library/office/…
function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); } -
回调运行成功,因为 onSucceededCallback 已被调用。我查看了在 args 中返回的对象,它没有权限信息。所以看起来我的初始查询有问题....
标签: javascript sharepoint sharepoint-2010 csom