Следующий код работает отличноКак загрузить явно столбцы с JavaScript из списка Sharepoint
$(document).ready(function() {
var scriptbase = "/_layouts/15/";
$.getScript(scriptbase + "SP.Runtime.js");
ExecuteOrDelayUntilScriptLoaded(ready, "SP.Runtime.js");
})
function ready() {
var scriptbase = "/_layouts/15/";
$.getScript(scriptbase + "SP.js", function(){
var d = $.Deferred();
var path = document.location.href
console.log(path);
var context = new SP.ClientContext('http://myserver/centrodeprocesos/procesos');
var oList = context.get_web().get_lists().getByTitle('ImagenesDeFondo');
var camlQuery = SP.CamlQuery.createAllItemsQuery();
var collTermListItem = oList.getItems(camlQuery);
context.load(collTermListItem);
var o = {d: d, collTermListItem:collTermListItem};
context.executeQueryAsync(
Function.createDelegate(o, onQuerySucceeded),
Function.createDelegate(o, onQueryFailed));
return d.promise();
});
}
function onQuerySucceeded()
{
var listItemEnumerator = this.collTermListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
console.log(oListItem.get_item('Title'));
//console.log(oListItem.get_item('Url'));
}
this.d.resolve(oListItem);
}
function onQueryFailed() {
this.d.reject("something bad happened");
}
Однако мне нужно также напечатать URL, который является полем в списке
$(document).ready(function() {
var scriptbase = "/_layouts/15/";
$.getScript(scriptbase + "SP.Runtime.js");
ExecuteOrDelayUntilScriptLoaded(ready, "SP.Runtime.js");
})
function ready() {
var scriptbase = "/_layouts/15/";
$.getScript(scriptbase + "SP.js", function(){
var d = $.Deferred();
var path = document.location.href
console.log(path);
var context = new SP.ClientContext('http://myserver/centrodeprocesos/procesos');
var oList = context.get_web().get_lists().getByTitle('ImagenesDeFondo');
var camlQuery = SP.CamlQuery.createAllItemsQuery();
var collTermListItem = oList.getItems(camlQuery);
context.load(collTermListItem, 'Include(Url)');
var o = {d: d, collTermListItem:collTermListItem};
context.executeQueryAsync(
Function.createDelegate(o, onQuerySucceeded),
Function.createDelegate(o, onQueryFailed));
return d.promise();
});
}
function onQuerySucceeded()
{
var listItemEnumerator = this.collTermListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
console.log(oListItem.get_item('Title'));
console.log(oListItem.get_item('Url'));
}
this.d.resolve(oListItem);
}
function onQueryFailed() {
this.d.reject("something bad happened");
}
Ошибка свойство не было инициализировано или должно быть запрошено явно.