LINUX.ORG.RU

JS фреймворк для ajax api, подгрузки блоков

 ,


0

3

Может есть что-либо готовое... С готовым АПИ для дергания ajax запросов типа request.api(url, success, fail) с интеграцией в UI(например пока идет загрузка крутится шарик, а потом контент вставляется сам в блок). Ещё нужно подгружать блоки с сервера, открывать их в modal окнах и прочие рутинные штучки. Есть всякие VUE, angular. Куда смотреть? Или такое самому только делать?

★★★★

request.api(url, success, fail)

fetch(url).then(success, fail)

идет загрузка крутится шарик, а потом контент вставляется сам в блок
открывать их в modal окнах и прочие рутинные штучки

jquery. но все зависит от сложности приложения.

dib2 ★★★★★
()
Ответ на: комментарий от dib2

Ну это понятно, такое делал сам сто раз. Может все же готовое есть о чем я не знаю ) Там же всякие ошибки нужно обрабатывать, потом json парсить. А что бы тупо загрузить в div с сервера контент тоже нужно сначала этот div искать потом посылать запрос, охота что то наподобие <div data-url=«/api/getblock/users»></div> без написания всякой лабуды )

gobot ★★★★
() автор топика

С готовым АПИ для дергания ajax запросов типа request.api(url, success, fail) с интеграцией в UI(например пока идет загрузка крутится шарик, а потом контент вставляется сам в блок).

Это пишется быстрее, чем ты набирал этот пост.

crutch_master ★★★★★
()

request.api(url, success, fail) с интеграцией в UI(например пока идет загрузка крутится шарик, а потом контент вставляется сам в блок

Между реквестом апи и выводом контента есть еще один маааленький шажочек - преобразовать результат в разметку

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)

охота что то наподобие <div data-url=«/api/getblock/users»></div> без написания всякой лабуды )

Ради этого придумали JSX, ReactJS и всякое подобное, а вы ими пользоваться не хотите.

vvn_black ★★★★★
()

Бери Vue.js и не парься.

th3m3 ★★★★★
()

XmlHttpRequest хватит всем. Пиши обертку на и будет все без всяких свистелок- перделок.

ilinsky ★★★★★
()

В большинстве случаев для таких задач писать свою балалайку с использованием jQuery или вообще на нативном js - плохое решение. Код со временем будет разрастаться, поддерживать все это дело будет достаточно сложно. Не советую, в общем. Лучше для этих задач взять React/Angular/Vue. Что касается «подгружать блоки с сервера» - я бы непосредственно html-шаблоны туда-сюда не гонял, а передавал только данные в json. Сам блок можно рисовать на фронтенде - это ок. Иначе у тебя UI сайта будет размазан: часть шаблонов будет во фронте, часть - на сервере. На мой взгляд, это плохая практика, портящая качество твоего продукта. А так у тебя будет API, которое работает с JSON, и фронтенд на React/Angular/Vue.

dimuska139 ★★
()
Ответ на: комментарий от dimuska139

Ок, я выбрал Vue(т.к. имею небольшой опыт).

а передавал только данные в json

а как индексация поисковиками?

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

Да я так-то тоже не фронтенд-разраб. Выбрал React, потому что на тот момент он более популярен был. Не знаю, может быть, Vue и проще - тут ничего сказать не могу. У React низкий порог вхождения, я считаю, но чтобы на нем пилить качественный код, требуется опыт.

Что касается индексации поисковиками, то есть библиотеки, которые тебе позволяют легко рендерить страницы на сервере. Например, NextJS для React. Я юзаю - полет нормальный, все отлично индексируется, потому что для поисковиков такой сайт ничем не отличается от обычного - краулер получает ту же готовую html-ку с сервера вместе с теми данными, что аяксом подтягиваются, грубо говоря. Для Vue тоже есть SSR, но я по понятным причинам не юзал.

dimuska139 ★★
()
Ответ на: комментарий от ddidwyll

Чем именно, кстати? Уже не первый раз слышу, что он лучше <подставь название любого js-фреймворка>, но почему - так и не понял.

dimuska139 ★★
()
Ответ на: комментарий от dimuska139

На нем реально

На мой взгляд проще чем на ангуляр/реакт/вью, остальных не видел.

Не сильно сыроват

Было пару ошибок за пол года, чинят быстро. Из-за отсутствия рантайма мест где может сломаться поменьше, если скомпилировалось - 99% будет работать.

ddidwyll ★★★★
()

решения без eval наиболее интересны, если вообще такое есть

anonymous
()
Ответ на: комментарий от ddidwyll

Поглядел - вроде, норм, простенько так. А есть норм решения для ssr, либы типа redux, можно ли таймпскрипт прикрутить?

dimuska139 ★★
()
Ответ на: комментарий от dimuska139

Я использую laravel, там есть свой шаблонизатор blade, который я и использую. Получается я не использую шаблонизатор vue по прямому назначению. Пока пытаюсь понять для чего он мне может понадобится

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

Я от этого подхода несколько лет назад ушёл,считаю его неудобным, сложным и устаревшим. У меня бэк - это просто апи, отдаёт и принимает только json. Весь интерфейс пилю отдельным приложением на React. Я не навязываю свою позицию, просто для меня это оказалось более удобным, чем шаблоны на сервере.

dimuska139 ★★
()
Ответ на: комментарий от dimuska139

Каждый блок собираешь отдельными запросами ajax? Или всю страницу собираешь, внедряя туда json сразу? Или еще как то?

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

Я аякс-запросами вытягиваю отдельные части страницы, да. Например, есть у меня страница товаров магазина, а на ней есть фильтры, в которых есть список производителей. Делается 2 запроса: один для списка товаров, второй, чтобы получить список доступных производителей. Нет смысла тянуть одним запросом весь контент для страницы, потому что такой запрос может достаточно тяжелым быть, к тому же иногда требуется отдельно какие-то данные получить/обновить, а так придется все вытягивать, даже те, которые не нужны.

dimuska139 ★★
()
Ответ на: комментарий от dimuska139

Ясно. Сборка кусками ) Тоже думал так делать, но все по старинке, пока нет весомой причины переходить на такое

gobot ★★★★
() автор топика
Ответ на: комментарий от crutch_master

Вы явно не знакомы с современными фреймворками, данная задача, например в реакте будет решатся с помощью

1) axios / fetch 
2) redux / mobx
3) saga / thunk 
4) разделение логики и отображение 

и много чего другого

abs ★★★
()
Последнее исправление: abs (всего исправлений: 1)

Напиши под себя zhopa.js делов-то

TooPar
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.