Решил по лучше узнать REST (т.к. от CSOM рекомендуют уходить
постепенно), но возникли некоторые сложности, т.к. присутствует локализация SharePoint (установлен
языковой пакет) и выглядит вот так:
При обращении к элементу списка Employees
получаем отображаемые названия полей
через JavaScript (предварительно подключив jQuery)
1 2 3 4 5 6 7 8 | _spBodyOnLoadFunctionNames.push( "getEmployees" ); function getEmployees() { $.getJSON(_spPageContextInfo.webAbsoluteUrl + "/_vti_bin/listdata.svc/Employees?$select=Создано,Название" , function (data) { console.log(data) }); } |
1 | http://site/_api/web/lists/GetByTitle('Employees')/items(1)?$select=Title |
через JavaScript (предварительно подключив jQuery)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | _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
Комментариев нет:
Отправить комментарий