powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / RestApi +Ajax query to MVC model
25 сообщений из 105, страница 1 из 5
RestApi +Ajax query to MVC model
    #39910859
gycb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно есть рест контроллер который возврщает List с объектами
Код: java
1.
2.
3.
    @PostMapping("/fio")
    public List<User> fioSeach(@RequestParam("fio") String fio){
        return userRepo.fioSearch(fio);


этот рест контроллер дергается ajax скриптом
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    $(document).ready(function(){
    $("#fio").blur(function(){
        $.ajax
        ({
        type: "POST",
            data: {"fio" :$('#fio').val(),"_csrf" :$('#csrf').val()},
            url: '/moderation/fio'
        });
    });
});


и нужно результат этого запроса положить вот сюда ,где fiousers -лист ,который нам вернул рест контроллер
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<#if fiousers??>
<div>
    <h3><span class="badge badge-warning ">Пользователь</span></h3>
</div>
<#list fiousers as fu>
<ul class="list-group">
    <li><a href="/moderation/${fu.id?c}" class="badge badge-secondary mb-1">${fu.fio}</a></li>
</#list>
</ul>
</#if>
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910862
gycb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
порыскал по гуглам - я так понимаю
в скрипте нужно сделать что то на подобии вот этого
Код: javascript
1.
2.
3.
4.
5.
     success:function(serverData)
            {
              
                $("#someusers").html(serverData.serverInfo);
            },


и в ftl сделать див класс someusers
а что дальше не понятно
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910863
gycb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
другими словами нужно как то положить в мvc модель атрибут ,который в свою очередь получаем ajax запросом и при этом чтобы на странице обновилась инфа
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910864
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gycb
другими словами нужно как то положить в мvc модель атрибут ,который в свою очередь получаем ajax запросом и при этом чтобы на странице обновилась инфа


"Вы либо шатны оденьте, либо крестик снимите". (с) Не мой

Т.е. вам нужен js-фреймфорк, а не шаблонизатор.
Можно и на чистом js, но я вижу у вас тут используется jQuery.
Поэтому можно посмотрить в сторону jQuery-ui .
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910878
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gycb,

для начала определись с поведением своего API
ты хочешь принимать JSON, а в ответ отдавать готовый HTML?
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910882
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
Ну по сути да,апи отрабатывает на Джейсон ,обратно отдаёт либо лист либо модель в которой этот лист лежит и обновляет див класс в котором этот лист.ну либо прям целиком возвращает див класс с обновлёнными данными -я так понимаю тут возможен только последний вариант

Это обычная поисковая строка-
Ввёл фамилию курсор убрал с поля и внизу отобразился лист со всеми юзерами с фамилиями похожими
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910883
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gycb,
Логичней ПОЛУЧАТЬ объекты по Get а не по Post.
Не?
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910884
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Почему этот юз кейс не сделать по Get если REST?
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910887
gycb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
asv79,
Почему этот юз кейс не сделать по Get если REST?

Петро создай отдельную тему там подискутируем почему пост ,а не гет.
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910889
gycb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mad_nazgul
gycb
другими словами нужно как то положить в мvc модель атрибут ,который в свою очередь получаем ajax запросом и при этом чтобы на странице обновилась инфа


"Вы либо шатны оденьте, либо крестик снимите". (с) Не мой

Т.е. вам нужен js-фреймфорк, а не шаблонизатор.
Можно и на чистом js, но я вижу у вас тут используется jQuery.
Поэтому можно посмотрить в сторону jQuery-ui .

я верно понимаю что используя шаблонизатор я не смогу асинхронно обновить один из div не обновляя всю страницу целиком
если такой возможности нет-то тему можно закрывать ,от шаблонизатора я отказаться не смогу в данном случае
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910891
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gycb
я верно понимаю что используя шаблонизатор я не смогу асинхронно обновить один из div не обновляя всю страницу целиком
если такой возможности нет-то тему можно закрывать ,от шаблонизатора я отказаться не смогу в данном случае


Не совсем.
Можно использовать JSF или Vaadin, как шаблонизаторы.
Там есть асинхронные способы обновления. Но контроллеры будут не REST.

Хотя что вам мешает использовать и шаблонизатор, и js-фреймворк.
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910893
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gycb
PetroNotC Sharp
asv79,
Почему этот юз кейс не сделать по Get если REST?

Петро создай отдельную тему там подискутируем почему пост ,а не гет.

Еще не хватало чтобы двоечник командовал где кому писать.
...
Каков твой ответ, таков и мой.
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910897
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
skyANA,
Ну по сути да,апи отрабатывает на Джейсон ,обратно отдаёт либо лист либо модель в которой этот лист лежит и обновляет див класс в котором этот лист.ну либо прям целиком возвращает див класс с обновлёнными данными -я так понимаю тут возможен только последний вариант

Это обычная поисковая строка-
Ввёл фамилию курсор убрал с поля и внизу отобразился лист со всеми юзерами с фамилиями похожими

Возможны тут разные варианты: вернуть JSON и отрендерить его на клиенте, или вернуть готовый HTML и вставить в нужное место, или редирект на страницу результатов поиска.
Остальная часть продукта как написана?
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910898
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Это обычная поисковая строка-
Ввёл фамилию курсор убрал с поля и внизу отобразился лист со всеми юзерами с фамилиями похожими
элементарная операция и столько проблем?
- набрал стас
- отправил на сервер
- в ответ получил готовый html
- вставил его в нужное место dom

в чем проблема?
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910899
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,весь продукт на фримаркере,редирект и отказ от этого шаблонизатора исключён.
Нужно чтобы вбивали в строку поиска текст и он на каждое изменение отправлял ajax запрос на сервер и обновлял данные в каком то диве ,но не страницу целиком,иначе просто в этой затее теряется смысл
Я могу переделать сам контролёр или страницу (добавить нужные дивы) но не более
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910902
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Нужно чтобы вбивали в строку поиска текст и он на каждое изменение отправлял ajax запрос на сервер и обновлял данные в каком то диве ,но не страницу целиком,иначе просто в этой затее теряется смысл
Я могу переделать сам контролёр или страницу (добавить нужные дивы) но не более
тебе показать работающий пример на чистом js, ws и без всяких наворотов?
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910903
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,

это называется partial rendering
метод контроллера должен вернуть частичное представление в виде готового html
на клиенте тупо вставить в нужный контейнер

опять испытываешь стеснение спросить у своих коллег пример?
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910904
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Он просто перепрыгнул понятия урл и http сразу на спринг.
Получилась магия.
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910905
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
asv79
Это обычная поисковая строка-
Ввёл фамилию курсор убрал с поля и внизу отобразился лист со всеми юзерами с фамилиями похожими
элементарная операция и столько проблем?
- набрал стас
- отправил на сервер
- в ответ получил готовый html
- вставил его в нужное место dom

в чем проблема?

Именно это я и хочу
Я так понимаю что в моем скрипте должна быть часть после sucess которая и возвращает готовый html элемент?
И если да ,то отобразится ли этот элемент в темплейте
Ведь насколько я знаю это не совместимые вещи
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910906
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,тут вопрос будет ли это работать внутри фримейкера
Если нет ,то тогда тему можно закрыть
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910907
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gycb
Собственно есть рест контроллер который возврщает List с объектами
Код: java
1.
2.
3.
    @PostMapping("/fio")
    public List<User> fioSeach(@RequestParam("fio") String fio){
        return userRepo.fioSearch(fio);


этот рест контроллер дергается ajax скриптом
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    $(document).ready(function(){
    $("#fio").blur(function(){
        $.ajax
        ({
        type: "POST",
            data: {"fio" :$('#fio').val(),"_csrf" :$('#csrf').val()},
            url: '/moderation/fio'
        });
    });
});


и нужно результат этого запроса положить вот сюда ,где fiousers -лист ,который нам вернул рест контроллер
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<#if fiousers??>
<div>
    <h3><span class="badge badge-warning ">Пользователь</span></h3>
</div>
<#list fiousers as fu>
<ul class="list-group">
    <li><a href="/moderation/${fu.id?c}" class="badge badge-secondary mb-1">${fu.fio}</a></li>
</#list>
</ul>
</#if>



Тебе не на форум надо вопросы задавать, а какие-то базовые концепты почитать (правда хз где их взять) и научиться формулировать запросы, т.е. вопрос типа: "у меня есть что-то там на freemarker, какой-то jquery и REST-сервис - как их сдружить" - это не вопрос, а хрен знает что, ты вот только через 10 постов просрался и написал что тебе нужно на самом деле:

asv79
skyANA,весь продукт на фримаркере,редирект и отказ от этого шаблонизатора исключён.
Нужно чтобы вбивали в строку поиска текст и он на каждое изменение отправлял ajax запрос на сервер и обновлял данные в каком то диве ,но не страницу целиком,иначе просто в этой затее теряется смысл
Я могу переделать сам контролёр или страницу (добавить нужные дивы) но не более


а нужно тебе следующее в терминах html и jquery:
- нарисовать input, куда пользователь что-то будет вбивать
- на этот input повесть onchange/onpaste, который при изменении инпута будет:
-- смотреть что ввели (достаточно данных или нет)
-- на div вешать шильдик типа "Loading ..."
-- слать запрос к REST
-- при получении ответа заменять содержимое div какими-то данными (тут можно повестись на посты от @вадя и из REST принимать сразу HTML, но это нифига уже не REST либо отрисовывать DOM самостоятельно)

как только придет понимание того как оно работает (т.е. каким образом динамически отрисовывать DOM при помощи JS), придет идея что нужно большую часть рутины заменить на какой-нить фреймворк, если у тебя не SPA, то jquery здесь не лучший кмк выбор, лучше если есть возможность, то переключиться на ExtJS если лицензия позволяет.
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910908
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
asv79,

это называется partial rendering
метод контроллера должен вернуть частичное представление в виде готового html
на клиенте тупо вставить в нужный контейнер

опять испытываешь стеснение спросить у своих коллег пример?

Коллеги в отпусках)
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910910
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,
+1
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910911
gycb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mad_nazgul
gycb
я верно понимаю что используя шаблонизатор я не смогу асинхронно обновить один из div не обновляя всю страницу целиком
если такой возможности нет-то тему можно закрывать ,от шаблонизатора я отказаться не смогу в данном случае


Не совсем.
Можно использовать JSF или Vaadin, как шаблонизаторы.
Там есть асинхронные способы обновления. Но контроллеры будут не REST.

Хотя что вам мешает использовать и шаблонизатор, и js-фреймворк.

так я об этом и спрашиваю.....
...
Рейтинг: 0 / 0
RestApi +Ajax query to MVC model
    #39910912
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС вероятно захотел крутую динамику ГУИ и врубил спринг MVC.
А потребовался JS.
Ему лень стало, и он пришел в java спрашивать про JS.
Бывает.
...
Рейтинг: 0 / 0
25 сообщений из 105, страница 1 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / RestApi +Ajax query to MVC model
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]