SherryT6$ Ответов: 1

Как отфильтровать из списка SharePoint На сделать AJAX-запрос?


У меня есть список имен, и я сохранил их в массиве.
затем я передаю массив функции get ajax в качестве параметра для возврата требуемой информации.

то, что я пытаюсь достичь, - это отфильтровать этот список на основе значений в массиве.

Я попытался использовать фильтр, как показано ниже, но он ничего не возвращает, и если я удалю фильтр, он вернет все в списке:

URL-адрес: "https://mysite/_api/EmployeeInfo?$фильтр=полное имя экв'" + целое без знака+ "'",


Я показал свою функцию ниже, пожалуйста, помогите, так как я не очень хорошо знаком с тем, как это сделать. любая помощь очень ценится.

Что я уже пробовал:

function getEmployeeDetails(id) {
   console.log(id);

    var dataarray=JSON.stringify(id);

       var dfd = $.Deferred();
       $.ajax({

           url: "https://mysite/_api/EmployeeInfo?$filter=FullName eq'" + dataarray+ "'",

           data:JSON.stringify(id) ,
            type: "GET",
           dataType: "json",
           headers: {
               "accept": "application/json;odata=verbose"
           },
           success: function(data) {
               dfd.resolve(data);
               console.log(data);
           },
           error: function(data, errCode, errMessage) {
               {
                   swal('Error', 'Item not found', 'error')
               }
           }
       });
       return dfd.promise();

   }

1 Ответов

Рейтинг:
1

Richard Deeming

Когда Ваш массив содержит несколько элементов, ваш запрос будет выглядеть примерно так:

FullName eq 'a,b,c'

Это вернет только те записи, где FullName это точно равно всем именам из вашего массива, объединенным в один список, разделенный запятыми. Это явно не сработает.

Вам нужно построить запрос для каждого значения и объединить их с or оператор:
url: "...?$filter=FullName eq '" + dataarray.join("' or FullName eq '") + "'",

Это создаст запрос, который будет выглядеть следующим образом:
FullName eq 'a' or FullName eq 'b' or FullName eq 'c'