我正在慢慢地与SharePoint一起学习JavaScript。以下代码工作正常,但我不明白sender
和args
函数中的onCourseCodeSucceeded
和onCourseCodeQueryFailed
是什么。
// Add data to the courseCode Control
function retrieveCourseCodes() {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Course List');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' +
'<Value Type=\'Number\'>1</Value></Geq></Where></Query></View>');
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(
Function.createDelegate(this, this.onCourseCodeSucceeded),
Function.createDelegate(this, this.onCourseCodeQueryFailed));
}
function onCourseCodeSucceeded(sender, args) {
var listItemInfo = '';
var listItemEnumerator = collListItem.getEnumerator();
var courseCodes = document.getElementById('classCourseCodes');
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
var courseOption = document.createElement('option');
courseOption.value = oListItem.get_item('Title');
courseOption.text = oListItem.get_item('Title');
courseCodes.add(courseOption)
}
}
function onCourseCodeQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
答案 0 :(得分:1)
在调用SharePoint之后执行javascript函数时,这两个参数都由Javascript客户端对象模型提供。
Sender参数是ClientRequest类的实例。 您可以使用ClientRequest类的get_webRequest方法来获取用于调用SharePoint的对象。
args参数是ClientRequestFailedEventArgs / ClientRequestSucceededEventArgs类的一个实例。 该类有一个get_request方法,它通过类ClientRequest的get_webRequest方法返回相同的对象返回。
请参阅此链接以获取简要说明。这是我到目前为止为这个主题找到的最好的描述..