В настоящее время я использую комбинацию для того, чтобы получить текущего пользователя в SharePoint 2013, чтобы я мог автоматически запрашивать мой набор данных для вошедшего в систему пользователя.
Я сталкиваюсь со странной ошибкой, когда, если я не использую окно оповещения в своей функции retrieveListItems, я получаю SCRIPT438: объект не поддерживает свойство или метод 'get_ $ y_0'. Если я поставлю простое предупреждение («Привет»); в начале этой функции я не получаю сообщение об ошибке, и мои диаграммы правильно отображаются для пользователя.
Ниже приведен мой (неаккуратный) код, но если кто-то может предложить какое-либо понимание относительно того, почему он может это делать, и как я могу убедиться, что ошибка устранена без использования каких-либо окон предупреждений, я был бы очень признателен.
ExecuteOrDelayUntilScriptLoaded(init,"sp.js");
var currentUser;
function init(){
this.clientContext = new SP.ClientContext.get_current();
this.oWeb = clientContext.get_web();
currentUser = this.oWeb.get_currentUser();
this.clientContext.load(currentUser);
this.clientContext.executeQueryAsync(Function.createDelegate (this,this.retrieveUser), Function.createDelegate(this,this.onQueryFailed2));
}
function onQueryFailed2(){
alert('2');
}
function retrieveUser(){
currentUser = currentUser.get_title();
//alert(currentUser);
this.clientContext.load(currentUser);
this.clientContext.executeQueryAsync(
Function.createDelegate(this,this.retrieveListItems),
Function.createDelegate(this,this.onQueryFailed2)
)
}
//retrieve list data from above sharepoint site based on List Name
function retrieveListItems() {
clientContext.load(currentUser, 'Title');
//alert('Rendering...');
//var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('APS Portfolio');
var camlQuery = new SP.CamlQuery();
//currentUser = 'Fox, Natalie G';
//clientContext.load(currentUser);
camlQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='AIT_x0020_App_x0020_Manager'/><Value Type='Text'>" +currentUser+ "</Value></Eq></Where></Query></View>");
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(
Function.createDelegate(this, this.onQuerySucceeded),
Function.createDelegate(this, this.onQueryFailed)
);
}
Я новичок в использовании функции clientContext, но мне очень интересно узнать о ней больше и что я могу сделать, чтобы устранить эту ошибку.
Спасибо!