儘管我們可以使用客戶端對象模型進行SharePoint開發,但SharePoint 2013開始,提供了rest api來更方便的開發。
1. ajax請求獲得list的數據
比如如果我們想要查詢一個list的數據,我們可以這樣:
- $.ajax({
- type: "GET",
- url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('" + docLibraryName + "')/items",
- headers:{
- "accept": "application/json;odata=verbose"
- },
- success: function (data) {
- console.log(data.d);
- },
- error: function (err) {
- }
- });
這樣是不是比客戶端對象模型更方便?
2. $select
上面是查詢list的所有字段,要是我們只想查詢特定的字段呢?我們可以使用$select
將上面的url的值改爲_spPageContextInfo.webAbsoluteUrl +"/_api/web/lists/getByTitle('" + docLibraryName +"')/items?$select=FiledName1,FiledName2
3.$filter
儘管能查詢特定的字段,但我們還想查詢滿足某一些特定條件的數據,我們可以使用$filter。
將url的值改爲_spPageContextInfo.webAbsoluteUrl +"/_api/web/lists/getByTitle('" + docLibraryName +"')/items?$select=FiledName1,FiledName2&$filter=FiledName1 eq 'Your Value'
其中eq是等於的英文縮寫,我相信大於,小於等的英文縮寫以此類似。
4.$expand
假如現在我們有兩個list:listA和listB,listA的一個字段FiledName2通過lookup和listB建立連接關係。如果這個時候我們在查詢listA時,想要查詢listB的其他值,這個時候我們可以是$expand。
將上面的url改爲_spPageContextInfo.webAbsoluteUrl +"/_api/web/lists/getByTitle('listA')/items?$select=FiledName1,FiledName2/Title,FiledName2/ID&$filter=FiledName1 eq 'Your Value'&$expand=FiledName2
5.$orderby
如果我們想要對查出的list進行排序,我們可以使用$orderby。
6. $top
如果我們想要查詢特定數量的值,我們可以使用$top。
7.$skip
如果我們想從第n條數據開始查詢,我們可以使用$skip。
8.其他
當然除了對list的這一些基本操作外,還有其他更多的操作。