@LehaRybkoha

Как реализовать поиск на сайте?

В общем, есть задание, чтобы сделать поиск по странице, звучит так " Организовать работу поиска (js, одностраничное приложение) Данных в файле test.json, где: t - заголовок, d - описание для списка результатов, u - путь для навигации, f - текст для детальной страницы."
Файл JSON организован так(не буду говорить реальную информацию):
{
"91":{"t":"Здесь вопрос","d":"Описание ответа","u":"Ссылка","f":"Соответственно текст для детальной страницы"},
"78":{"t":"Здесь вопрос","d":"Описание ответа","u":"Ссылка","f":"Соответственно текст для детальной страницы"},
"55":{"t":"Здесь вопрос","d":"Описание ответа","u":"Ссылка","f":"Соответственно текст для детальной страницы"}
}

Фото как должно быть:
5d3224c706683451999693.png
То есть когда человек вводит текст даются подсказки, после нажатия кнопки "Поиск" предлагаются варианты, на которые можно перейти и должна прогрузиться получается другая страница html, как это реализовать? Через AJAX? Через React или Angular? Подсказки и ответы должны прогружаться через XHR с JSON? Или там вообще backend и node.js или php?
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
@vladdimir
Верстальщик
Вам логику поиска надо делать или отображение уже готовых результатов, которые получаете от апи?
Если второе и апи на том же домене, аджакс подойдет. На вскидку, не особо вникая, делал бы как-то так.
На форму обработчик изменения, который отправляет пользовательский ввод в функцию поиска через аджакс.
Получаем джейсон-файл с результатами, ставим заголовки в подсказки сразу, а результаты по энтеру и клику на кнопке искать.

Чтобы делать прям подсказки-подсказки, а не грузить заголовки найденных статей, нужно реализовывать какое-то хранилище поисковых запросов на бекенде, иначе откуда эти самые подсказки брать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SWAN Пермь
от 20 000 руб.
МАКСИДОМ Санкт-Петербург
от 85 000 до 110 000 руб.
23 авг. 2019, в 18:29
140000 руб./за проект
23 авг. 2019, в 18:26
3000 руб./за проект
23 авг. 2019, в 18:17
9999 руб./за проект