maxpoitn2point
@maxpoitn2point
Как всегда, в своем репертуаре

Как реализовать ajax?

Допустим, есть некая страница, на которой данные меняются в зависимости от действий пользователя и с течением времени. Задача прикрутить ajax, но все сделать максимально независимым. серверная часть отдельно и клиентская тоже.
Если сделать так:
есть набор скриптов, в которых определены некие функции, с помощью который формируется страница изначально при загрузке.
далее на загруженной странице есть javascript, который будет обращаться к отдельному файлу(что-то похожее на api) за новой порцией данных.
в скрипте который будем называть api, подключены те самые классы и методы для изначального формирования страницы.
из всего вышесказанного получается такой порядок:
1)загрузка страницы с помощью методов и классов.
2)после загрузки страницы вступает в действие javascript, который обращается к api.
3)api обращается к файлам, указанным в п.1 и передает загруженной странице данные в json.

у меня возникает такое чувство, что я изобрел велосипед.
Хотел бы выслушать мнения на это счет.
  • Вопрос задан
  • 2311 просмотров
Пригласить эксперта
Ответы на вопрос 3
deleted-tnorman
@deleted-tnorman
Почитайте о Angular.js или Backbone.js, то что вы придумали уже создано и в достаточно мощной и качественной реализации, которая позволяет управлять процессом очень удобными способами.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
у меня возникает такое чувство, что я изобрел велосипед.

Типа да.

В идеальной ситуации сервер возвращает вам страницу, так же он предоставляет отдельное API для получения данных, а js уже все сам разруливает (у него свои шаблоны). В этом плане у нас реализация сервера полностью независима от клиента.

Далее идет подход с пререндрингом шаблонов на сервере, то есть вам возвращается шматок HTML и его уже использует JS.

Как это сделать лучше зависит от того что вы используете.
Ответ написан
Комментировать
@bromzh
Drugs-driven development
Knockout + mapper plugin для него. Ну или любой другой реактивный JS-фреймворк.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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