Решил по лучше узнать REST (т.к. от CSOM рекомендуют уходить
постепенно), но возникли некоторые сложности, т.к. присутствует локализация SharePoint (установлен
языковой пакет) и выглядит вот так:
При обращении к элементу списка Employees
получаем отображаемые названия полей
через JavaScript (предварительно подключив jQuery)
_spBodyOnLoadFunctionNames.push("getEmployees");
function getEmployees()
{
$.getJSON(_spPageContextInfo.webAbsoluteUrl + "/_vti_bin/listdata.svc/Employees?$select=Создано,Название",
function (data) {
console.log(data)
});
}
http://site/_api/web/lists/GetByTitle('Employees')/items(1)?$select=Title
получаемчерез JavaScript (предварительно подключив jQuery)
_spBodyOnLoadFunctionNames.push("getEmployees");
function getEmployees()
{
var request = $.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('Employees')/items?$select=Title",
type: "GET",
headers: {"Accept": "application/json;odata=verbose"},
cache:false,
success: function(data){
console.log("моя функция")
}
});
request.done(function (data){ console.log('данные REST получены, объектов - ' + data.d.results.length);
console.log(data)
});
request.fail(function (){console.log('Ошибка при выполнении запроса REST')});
}
на выходекак уже могли заметить данные получаем не через $.getJSON(), а через $.ajax(), т.к. на нужено передать свойство headers: {"Accept": "application/json;odata=verbose"}, что бы нам вернулся JSON
так же я добавил обработчики .done() и fail(), что бы выводить информацию по результатам выполнения запроса REST




Комментариев нет:
Отправить комментарий