Я создаю поиск людей на основе типа с использованием HTML, JS, AngularJS против конечной точки REST для API поиска SharePoint Server 2013.
Моя конкретная проблема заключается в определении моего ресурса.
Шаблон запроса поиска SharePoint Я использую содержит двоеточие (:
):
.../_api/search/query?querytext=%27John+AND+Memberships:GRP-InformationSystems%27&sourceid=%27B09A7990-05EA-4AF9-81EF-EDFAB16C4E31%27
Вот реализация сервиса:
var searchService = servicesMod.factory('searchPeople', ['$resource',
function ($resource) {
return $resource('http://teamsint/_api/search/query?querytext=%27:searchText+AND+Memberships:GRP-InformationSystems%27&sourceid=%27B09A7990-05EA-4AF9-81EF-EDFAB16C4E31%27', { 'searchText': '@@searchText' }, {
query: { method: 'GET', isArray: false, withCredentials: true },
});
}]);
... и angularjs неверно идентифицирует его как параметр и удаляет его из URL-адреса ресурса.
и запрос обращается к серверу следующим образом:
": GRP", который является частью поискового запроса, анализируется из URL-адреса.
Есть ли способ escape
двоеточия, поэтому в этом случае он игнорируется?
Благодарю!
Исправление здесь было заменить двоеточие (:
) в строку запроса с %3A
, когда вы не хотите angularjs (1.5), чтобы думать, что это параметр.