Я думаю, что вы ищете параметр Include
для SP.ClientContext.load
. Это не очень хорошо задокументировано Microsoft, но в Интернете есть примеры. На странице MSDN в конце есть дополнение сообщества, в котором немного говорится об этом (http://msdn.microsoft.com/en-us/library/office/dn168903(v=office.15).).aspx).
var ctx = new SP.ClientContext(siteUrl);
var items = ctx.get_web().get_lists().getByTitle('Pages').getItems(new SP.CamlQuery());
ctx.load(items, "Include(Id, Title, Author)");
ctx.executeQueryAsync(function () {
var listEnumerator = items.getEnumerator();
while(listEnumerator.moveNext()) {
var page = listEnumerator.get_current();
alert(page.get_item('Title') + ' - ' + page.get_item('Author'));
}
});
РЕДАКТИРОВАТЬ
В следующем примере я добавил get_lookupvalue к Author и включил EncodedAbsUrl, FileDirRef и FileRef, чтобы вы могли попробовать найти путь. Тот, который вы используете, зависит от ваших потребностей, но я подозреваю, что вам понадобится EncodedAbsUrl или FileRef. Вот пример того, что каждый возвращает:
Энкодедабсурл: http://yourserver.com/Pages/home.aspx
FileDirRef: /Pages
ФайлСсылка: /Pages/home.aspx
var ctx = new SP.ClientContext(siteUrl);
var items = ctx.get_web().get_lists().getByTitle('Pages').getItems(new SP.CamlQuery());
ctx.load(items, "Include(Id, Title, Author, EncodedAbsUrl, FileDirRef, FileRef)");
ctx.executeQueryAsync(function () {
var listEnumerator = items.getEnumerator();
while(listEnumerator.moveNext()) {
var page = listEnumerator.get_current();
alert(page.get_item('Title') + ' - ' + page.get_item('Author').get_lookupValue() + ' - ' + page.get_item('EncodedAbsUrl') + ' - ' + page.get_item('FileDirRef') + ' - ' + page.get_item('FileRef'));
}
});
person
Justin Russell
schedule
17.07.2014