Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для parkito
15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695

Почему spring не видит запроса из ajax?

27.09.2016, 01:54. Показов 1449. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствйте. Помогите, пожалуйста, решить проблему.

На странице есть ajax запрос

JavaScript
1
2
3
4
5
6
7
8
function popBox(num1, num2) {
 x = confirm('Are you sure? ' + num1);
  if (x == true) {
  var xhr = new XMLHttpRequest();
  xhr.open("POST", "userChangeTariff?tariffId=" + num1 + "&contractNumber=" + num2, false);
   xhr.send();
    }
          }
В приложении есть сервлет

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
@RequestMapping(value = "/userChangeTariff", method = RequestMethod.POST)
    public String changeTariff(HttpServletRequest request, Locale locale, Model model)
    {
        String tariffId = (String) request.getAttribute("tariffId");
        String contractNumber = (String) request.getAttribute("contractNumber");
        System.out.println(tariffId + " " + contractNumber);
        int tariffID = Integer.valueOf(tariffId);
        Contract contract = contractService.getContractByNumber(contractNumber);
        Tariff tariff = tariffService.getEntityById(tariffID);
        contract.setTariff(tariff);
        contractService.updateEntity(contract);
        return "user/userTariffs";
    }
Но почему-то ajax не возбуждает сервлет. Почему, понять не могу. Что я делаю не так?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.09.2016, 01:54
Ответы с готовыми решениями:

Почему метод GET не годится в качестве ajax-запроса для передачи json?
Здравстуйте. Сразу отмечу, что я в этом лишь новичек. Во-вторых, java тут, в большей степени, за уши притянута, но вполне возможно, что это...

Почему не видит глобальный массив AJAX
Суть вопроса такова. Есть переменная, объявлена в самом начале всех-всех загрузок. В файле data.php. $myProfile; В файле func.php...

AJAX!? Почему ответ запроса прописывает теги в echo, а не интерпретирует их?
{ echo "This <b>".$login."</b> is Bad NICKNAME"; } else { echo "This <b>".$login. "</b> is Good NICKNAME"; ...

6
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
27.09.2016, 07:29
Контроллер точно поднимается? Что логи говорят?
1
 Аватар для parkito
15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695
27.09.2016, 12:16  [ТС]
LeX BB, все поднимается. Другие сервлеты работают. Но вот именно /userChangeTariff не поднимается. Ничего в логи не выводит.
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
27.09.2016, 12:20
Цитата Сообщение от parkito Посмотреть сообщение
xhr.open("POST", "userChangeTariff?tariffId=" + num1 + "&contractNumber=" + num2, false);
а ты пробовал "/userChangeTariff?tariffId=" - со слешем в начале?

Добавлено через 22 секунды
возможно url относительный расчитывается

Добавлено через 48 секунд
parkito, кстати а отладчик браузера / снифер что говрит? какой итоговый url запроса? какой ответ от сервера?
0
 Аватар для parkito
15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695
27.09.2016, 13:12  [ТС]
LeX BB, Со слешами перепробывал. Толку нет. Когда сам посылаю запрос (через дополнение к firefox httpRequest) - сервлет срабатывает. А вот со ajaxa не вызывается.
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
27.09.2016, 14:16
Лучший ответ Сообщение было отмечено parkito как решение

Решение

parkito, значит запрос кривой. с XMLHttpRequest не работал, надо разбираться. а через плагин браузера так же с параметрами шлешь?

Добавлено через 2 минуты
кстати используй лучше @PathVariable:
Java
1
2
@RequestMapping(value = "/userChangeTariff", method = RequestMethod.POST)
    public String changeTariff(HttpServletRequest request, Locale locale, Model model, @PathVariable("tariffId") int tariffId, @PathVariable("contractNumber") String contractNumber)
0
 Аватар для parkito
15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695
27.09.2016, 15:49  [ТС]
LeX BB, Спасибо за помощь. Я разобрался. Вообщем у меня была беда в логике на js.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.09.2016, 15:49
Помогаю со студенческими работами здесь

Вызов ajax запроса после обработки другого ajax запроса
Добрый день. По нажатию на кнопку происходит ajax запрос. Сервер возвращает true или false. Если результат true, то должен выполняться еще...

После вставки ответа ajax в input запроса, ответ ajax не изменяется
Здравствуйте! В общем так, есть поле input, есть таблица с полем count. Задача: изменить содержимое поле count по средством ajax, но при...

Ajax, Spring
Добрый вечер. С базы вывожу таблицу. Напротив каждой строки добавил кнопку редактировать, по нажатию на эту кнопку весь текст в строке...

Связывание spring и ajax
Здравствуйте. Помогите, пожалуйста, решить проблему. Задача: Страница посылает ajax - запрос на сервлет. Сервлет отправляет результат...

Spring MVC ajax
Добрый день. Не получается передать список объектов(или просто объект) с контроллера в js. Контроллер: @RequestMapping(value =...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru