Rest Call から結果をフィルタリングしようとしています。
$.ajax({
type: "GET",
headers: {
"Accept": "application/json;odata=verbose"
},
dataType: "JSON",
url: _spPageContextInfo.webServerRelativeUrl + "/_api/lists/getByTitle('Contacts')/items?$select=Title,Id&$startswith('Title','" + request.term + "') eq true",
success: function (data) {
},
error: function (ex) {
}
});
連絡先リストで、文字列で始まるアイテム、または文字列をどこかに含むアイテムのタイトルと ID を取得しようとしています。たとえば、誰かの名前です。
substringofでも試しました:
"/_api/lists/getByTitle('Contacts')/items?$select=Title,Id&$substringof(" + request.term + ",'Title') eq true"
これも同じ結果をもたらします。
リストのすべてのリスト項目が表示され、フィルタリングは適用されません。ここを見た後、残りの URL を作成します SharePoint 2013 REST サービスを使用したプログラミング そこに与えられたスキーマのように、Url は問題ないように見えますが、そうではないようです :)
編集:
OData Uri Conventions で like を適用すると$filter
、次のエラーが発生します。
{"error":{"code":"-1, Microsoft.SharePoint.SPException","message":{"lang":"en-US","value":"The query is not valid."}}}
次のクエリ文字列で試しました:
_api/lists/getByTitle('Contacts')/items?$select=Title,Id&$filter=substringof(m,'Title') eq true
_api/lists/getByTitle('Contacts')/items?$select=Title,Id&$filter=substringof('m','Title') eq true
_api/lists/getByTitle('Contacts')/items?$select=Title,Id&$filter=substringof('m',Title) eq true