Ajax или Angular фильтрация?

Сразу несколько вопросов. Здесь лежит пример angular.github.io/angular-phonecat/step-4/app. Понятное дело ищет. Как реализовать фильтрацию как в интернет-магазинах с помощью селектов и радиокнопок? А это вообще что? Оно просто текс ищет? Или создает определенные запросы к бд? А если использовать совместно с php реально фильтрацию как в интернет магазине сделать? Мне просто нужно чтоб в режиме реального времени. Может лучше тогда ajax'ом. Объясните мне пожалуйста. Как составить запрос вставить ответ в DOM, но перед этим показать загрузчик? Извините, на php я кое да как это делаю, но с ajax'ом никогда не работал. Поэтому такие глупые вопросы. Да и еще спать хочу уже 4 утра
  • Вопрос задан
  • 3970 просмотров
Решения вопроса 1
GM2mars
@GM2mars
Записывай: (AngularJS)
var value=5;
$http({method: 'POST', url: server_side.php?action=get_item, data: value}).success(function(res) {
  $scope.items=res;
}).error(function(res) {
  alert("Ошибка");
});

Посылаем "ангуляровский запрос" на сервер. method - тип запроса (get, post), url - страница для обработки запроса с каким нибудь параметром. Если это post, то в теле передаем значение. Функция возвращает res переменную (имя любое) в которой ответ от сервера. Мы обрабатываем ответ как нам нужно. В случае неудачного ответа показываем ошибку.

Если хочешь сделать поиск в реалтайме, то алгоритм такой:
При нажатии клавиши в поле ввода, берем значение этого поля и отправляем на сервер, методом указанным выше. На сервере отлавливаем этот запрос, обрабатываем его (например ищем в базе названия по пришедшему значению) и выводим ответ обычным echo, заранее переведя его в удобный вид (или готовый html кусок или json строка)
Ну а на клиенте соответственно у нас должна быть подготовленная функция для обработки ответа, например формирование списка найденного.
При реалтайм поиске советую начинать поиск (отправлять запросы на сервер) от 3-х символов, ну и через 1 секунду после нажатия клавиши.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Quber
@Quber
PHP Team lead
Если никогда не работали с ajax, то на ангулар лучше пока не смотреть. Разберитесь с jQuery и его методом $.ajax Если работали с js, и тем более с jquery то тут проблем не будет, легко всё настраивается и пишется.
Фильтрацию как в интернет магазине через ангулар, я бы не советовал, так как ангулар использует js для отображения данных, с чем плохо дружат поисковики. А вам в первую очередь нужно, чтобы ваш контент видели и легко индексировали поисковики.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
за поиск ответственность должен нести сервер. angular просто должен собрать данные для запроса (по чем фильтровать) и послать get запрос через сервис $http.

По сути все сводится к дата-биндингу формы, что бы потом забрать данные и запросить с сервера результаты поиска.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы