2016-07-13 2 views
3

Я пытаюсь найти автозаполнение Semantic UI Search для работы. Кажется, что все работает, за исключением того факта, что автозаполнение всегда говорит, что результатов не найдено.Модуль Semantic UI Search не отображает ответ json

Это пример поиска:

enter image description here

Это тот случай, даже если ответ сервера, кажется, работает хорошо.

Здесь сервер реагирует с JSON:

enter image description here

Наконец, вот мой JQuery код:

$(".ui.search").search({ 
    apiSettings: { 
     url : "/subtopics/search.json?query={query}" 
    }, 
    fields: { 
     results : 'subtopics', 
     title : 'name' 
    }, 
    minCharacters : 2 
}) 
; 

Из всех примеров, которые я видел это правильный путь скажите Semantic UI, на какие поля посмотреть, но он не работает.

Любая помощь с этой проблемой будет принята с благодарностью.

+0

Попробуйте добавить эти заголовки в ответ JSON. (пример php) header ('Cache-Control: no-cache, must-revalidate'); header («Истекает: понедельник, 26 июля 1997 года 05:00:00 GMT»); header ('Content-type: application/json'); Возможно, Content-type: application/json может изменить ситуацию –

ответ

1

Оказывается, использование обратного вызова onResponse, включенного в документацию Semantic UI (http://semantic-ui.com/behaviors/api.html#response-callbacks), является решением этой проблемы.

Вот код, который в конечном итоге работает:

$(".ui.search").search({ 
    type: 'category', 
    minCharacters: 3, 
    apiSettings: { 
     onResponse: function(serverResponse) { 
      var 
       response = { 
        results: {} 
       } 
      ; 
      //translate Server API response to work with search 
      $.each(serverResponse.subtopics, function(index, subtopic) { 
       var 
        topic = subtopic.topic || 'Unknown', 
        maxResults = 8 
       ; 
       if(response.results[topic] === undefined) { 
        response.results[topic] = { 
         name: topic, 
         results: [] 
        }; 
       } 
       //add result to category 
       response.results[topic].results.push({ 
        title: subtopic.name 
       }); 
      }); 
      return response; 
     }, 
     url: "/subtopics/search.json?query={query}" 
    } 
}) 
; 
Смежные вопросы