Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
55 / 18 / 19
Регистрация: 11.11.2014
Сообщений: 463
1

Spring MVC ajax

29.05.2018, 12:07. Показов 1043. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Не получается передать список объектов(или просто объект) с контроллера в js.
Контроллер:
Java
1
2
3
4
5
@RequestMapping(value = "/search_ajax", method = RequestMethod.GET, produces = "application/json")
    public @ResponseBody List<Shoes> search_ajax(Model model, @RequestParam("val") String val) {
        List<Shoes> shoes = shoesService.getShoesByArtikl(val);
        return shoes;
    }
ajax:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function myFunc(){
    var val = document.getElementById("search").value;
    $.ajax({
        url : "search_ajax",
        data : {
            "val" : val,
        },
        type : "GET",
        dataType : "json",
        success : function(data) {
            alert(data.length);
        }
    })
}
Как я не пытался, передать могу только String и map

Добавлено через 17 часов 35 минут
Хорошо, тогда такой вопрос. Где лучше реализовать строку вывода. Т.е когда я в js переаю данные я создаю строку, к примеру:
Java
1
"<p>data.length</p>"
А можно ли её создать в контроллере и передать в js. В таком случае не придётся мучаться с передачей объекта. Точнее даже не можно, а правильно ли?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2018, 12:07
Ответы с готовыми решениями:

Ajax в Spring mvc
Добрый день всем. Решил выучить ajax, в частности применять его фреймворк jQuery, но материала так...

Spring MVC. 404 ошибка при включении Spring Data JPA в проект
Добрый день. Есть простой шаблонный проект с использованием Spring MVC и Maven. С зависимостями...

задания по spring core и spring mvc для новичков
Какие задания можно предложить новичкам для выполнения после знакомства их с spring core и mvc ?

Перевод проекта из Spring Maven в обычный Spring MVC
Здравствуйте. Подскажите, реально ли взять готовый проект, например -...

8
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
31.05.2018, 16:29 2
Цитата Сообщение от Александр321321 Посмотреть сообщение
правильно ли?
Нет, связывать логику фронт энда и серверной части таким образом не правильно.

Цитата Сообщение от Александр321321 Посмотреть сообщение
Как я не пытался, передать могу только String и map
Секцию импортов покажи, а лучше полностью класс в спойлере.

Цитата Сообщение от Александр321321 Посмотреть сообщение
Не получается передать список объектов
Не получается это как? 500 ошибка? Возвращаются другие данные? Как определил что не получается?
1
55 / 18 / 19
Регистрация: 11.11.2014
Сообщений: 463
31.05.2018, 16:51  [ТС] 3
Цитата Сообщение от Любопытный Посмотреть сообщение
Нет, связывать логику фронт энда и серверной части таким образом не правильно.
Странно, но именно так меня и пытались научить) Хорошо что не делал

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.multipart.MultipartFile;
 
import com.shoes.spring.model.Shoes;
 
@Controller
@SessionAttributes(value = "ShoesForSale")
public class ShoesControllerAdmin {
    @Autowired
    private ShoesService shoesService;
 
    @Autowired
    private ShoesValidator shoesValidator;
@RequestMapping(value = "/search_ajax", method = RequestMethod.GET, produces = "application/json")
    public @ResponseBody List<Shoes> search_ajax(Model model, @RequestParam("val") String val) {
        List<Shoes> shoes = shoesService.getShoesSearch(val);
        return shoes;
    }
Цитата Сообщение от Любопытный Посмотреть сообщение
Не получается это как? 500 ошибка?
Да, если list непустой, то ошибка 500, если пустой, то alert срабатывает и показывает 0

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
$.ajax({
        url : "search_ajax",
        data : {
            "val" : val,
        },
        type : "GET",
        dataType : "json",
        contentType: 'application/json',
        
        success : function(data) {
            alert(data.length);
}})
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
01.06.2018, 15:13 4
Цитата Сообщение от Александр321321 Посмотреть сообщение
то ошибка 500
И что она пишет? Стектрейс?
0
55 / 18 / 19
Регистрация: 11.11.2014
Сообщений: 463
01.06.2018, 15:40  [ТС] 5
https://www.cyberforum.ru/atta... 1527856726
val=9... Это естественно то, что я ввожу. Ошибки выскакивают, когда возвращаю список непустой, если же в базе не найдено такое значение, то и ошибок нет. Код тот что и сверху, ничего не менял. Где ругается на 176 строку, это начала вызова ajax
Миниатюры
Spring MVC ajax  
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
01.06.2018, 15:52 6
Александр321321,
500 Internal Server Error
На сервере какая ошибка? Что выдает приложение?
0
55 / 18 / 19
Регистрация: 11.11.2014
Сообщений: 463
01.06.2018, 17:52  [ТС] 7
В том то и дело, что на сервере ошибок нет. Если выводить в консоль, то выводит всё правильно, тобишь с базы данные достаёт, записывает в лист, именно на клиентской части этот лист не принимается
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
01.06.2018, 17:55 8
чтобы точно убедиться в том, что бэк отдает верные данные в нужном формате, проверьте свой апи через постмен к примеру. После этого можно будет грешить на юай
1
55 / 18 / 19
Регистрация: 11.11.2014
Сообщений: 463
01.06.2018, 18:29  [ТС] 9
Да с помощью постмана удалось получить ответ:
Request processing failed; nested exception is org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.shoes.spring.model.Shoes.artiklShoes, could not initialize proxy - no Session
Правда когда сталкивался с этой проблемой, решал её добавив fetch = FetchType.EAGER. Сейчас не помогло, но буду дальше копать.
0
01.06.2018, 18:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2018, 18:29
Помогаю со студенческими работами здесь

Jetty embedded + Spring MVC + Spring Security
Добрый день. По роду работы приходилось писать на JavaSE, в том числе и сложные клиент/серверные...

Spring MVC, Spring REST
Всем привет! Изучаю фреймворк Spring и возникло несколько вопросов в процессе, на которые не...

Spring mvc spring jdbc
Простое веб приложение с использованием Spring mvc + jdbc(JdbcTemplate). Можно добавить запись в...

Spring MVC
Привет. Помогите, люди добрые. Обьясниет как передать данные из HTML формы на контролер в Spring,...

Spring MVC Hello + name
Здравствуйте! Только-только начал изучать это дело поэтому сильно не смейтесь. Есть задача сделать...

Spring mvc + jdbc
Всем привет. У меня возникла проблемка и я никак не могу сообразить в чём тут дело. Пишу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru