Как отправить фильтры в API с помощью JavaScript - PullRequest
0 голосов
/ 05 марта 2019

У меня есть список каталогов с опцией «избранное».Сейчас я пытаюсь сделать список наблюдения, который показывает только выбранные избранные.Данные поступают из того же API, но теперь для наблюдения мне нужно отфильтровать данные API, чтобы показать только избранное.

Это код

    "watchlist": {
  cols: 5,
  promise: function() {
    return $.api("/catalog", {
      count: 4,
    }).then(
      function(result) {
        $(".dashboardpage .widget-watchlist").render('pages/dashboard/widget-watchlist', {
          watchlist: result.data
        }).animo("enterContent");
      },
      function(err) {
        $(".dashboardpage .widget-watchlist").render('pages/dashboard/widget-watchlist', {
          watchlist: [],
          error: err
        }).animo("enterContent");
      }
    );
  }
},

Это данные JSON.

data: [{score: 4, id: 49878, description: "ACT 230V aansluitkabel C13 - C14 blauw. Lengte: 3 m",…},…]
filters: {price: ["0", "9999999999"], in_stock: "0", category: "", price_limit: [1, 8], search: "",…}
category: ""
favorite: {doc_count: 15, filtered: {doc_count_error_upper_bound: 0, sum_other_doc_count: 0, buckets: []}}
doc_count: 15

Ответы [ 2 ]

1 голос
/ 05 марта 2019

Это полностью основано на API, с которым вы общаетесь.API будет иметь хуки для фильтрации на основе того, что вы хотите.Это можно сделать с помощью параметров запроса "т.е. $ .api (" / catalog? Type = favourites ". Но на этот вопрос невозможно полностью ответить без этой информации.

0 голосов
/ 05 марта 2019

Отфильтруйте результат.данные и дайте только отфильтрованные элементы в список наблюдения, когда обещание будет выполнено.

function(result) {
    $(".dashboardpage .widget-watchlist").render('pages/dashboard/widget-watchlist', {
      watchlist: result.data.filter(item => favoriteItemIds.indexOf(item.id) != -1)
    }).animo("enterContent");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...