3 / 3 / 14
Регистрация: 26.01.2016
Сообщений: 481

Html+JavaScript+Java

20.07.2016, 20:04. Показов 778. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решил начать разбираться как написать корзину для интернет магазина, до этого у меня происходило на этой странице по сценарию Html+java
Теперь, по моей логике, пользователь нажимает купить, попадает в корзину, в которой будет реализован сценарий и из которой будет уже отправка информации в java и вот тут столкнулся с проблемой, мне нужно передать только два параметра из всей формы - это количество покупаемой продукции(numberOrderWhisky) и название(nameWhiskey).
P.S. для примера использую виски т.к. люблю этот продукт.
Итак, так выглядит html+ java -все работает
HTML
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  <form action="buySuccessfulWhisky" method="post">
  
    <tr th:each="buySelectedWhisky : ${buySelectedWhisky}">
        <td align="center">
            <img th:attr="src=${buySelectedWhisky.photo}" width="150" height="250"/>Photo</td>
 
        <td align="center" th:text="${buySelectedWhisky.nameWhisky}">Name</td>
 
        <td align="center" th:text="${buySelectedWhisky.describeWhisky}">Describe</td>
 
        <td align="center" width="100">
            <input type="number" style="width: 100px" min="1" th:attr="max=${buySelectedWhisky.quantityWhisky}"
       placeholder="Enter quantity" name="numberOrderWhisky" id="numberOrderWhisky"/>
        </td>
 
        <td align="center" th:text="${buySelectedWhisky.price}" >Price</td>
 
        <td align="center">
                <input type="hidden" name="nameWhiskey" id="nameWhiskey" th:value="${buySelectedWhisky.nameWhisky}"/>
             
                <input type="submit" class="buttons" name="buttonBuyWhiskey" style="width: 60px" value="Buy"/> </td>
    </tr>
    </form>

Java:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
 @RequestMapping(value = "buySuccessfulWhisky", method = {RequestMethod.GET, RequestMethod.POST})
    public ModelAndView view(@RequestParam("nameWhiskey")String name,
                             @RequestParam("numberOrderWhisky")Integer quantityOrder) {
 
        System.out.println("Name: = "+name);
        System.out.println("Quantity: = "+quantityOrder);

Теперь дал форме id и забрал action, что бы отправить все из JS:
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 <form id="buySelectedWhiskyThroughJavaScript" method="post">
 
    <tr th:each="buySelectedWhisky : ${buySelectedWhisky}">
        <td align="center">
            <img th:attr="src=${buySelectedWhisky.photo}" width="150" height="250"/>Photo</td>
 
        <td align="center" th:text="${buySelectedWhisky.nameWhisky}">Name</td>
 
        <td align="center" th:text="${buySelectedWhisky.describeWhisky}">Describe</td>
 
        <td align="center" width="100">
            <input type="number" style="width: 100px" min="1" th:attr="max=${buySelectedWhisky.quantityWhisky}"
       placeholder="Enter quantity" name="numberOrderWhisky" id="numberOrderWhisky"/>
        </td>
 
        <td align="center" th:text="${buySelectedWhisky.price}">Price</td>
 
        <td align="center">
                <input type="hidden" name="nameWhiskey" id="nameWhiskey" th:value="${buySelectedWhisky.nameWhisky}"/>
                <!--<input type="hidden" name="quantityWhiskeyInDB" id="quantityWhiskeyInDB" th:value="${buySelectedWhisky.quantityWhisky}"/>-->
                <input type="submit" onclick="buyFromJS()" name="buttonBuyWhiskey" style="width: 60px" value="Buy"/> </td>
    </tr>
    </form>

JS пробовал описать так:
Кликните здесь для просмотра всего текста
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function buyFromJS() {
   
    $.ajax({  
        headers: {
            "Accept": "application/json",
            "Content-Type": "application/json"
        },
        type: "POST",
        url: '/buySuccessfulWhisky?' + $("#buySelectedWhiskyThroughJavaScript").serialize(),
        success: function (msg) {  
            window.location.href = "buySuccessfulWhisky";
        }
    })
}

Сразу же скажу у меня есть подобный код, но там я получаю все параметры, которые находятся внутри формы(форма для регистрации, NickName, Password, Email) и все работает, тут же мне нужно два параметра.
Код java прежний, выдает ошибку:
Html:
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
Whitelabel Error Page
 
This application has no explicit mapping for /error, so you are seeing this as a fallback.
 
Wed Jul 20 11:38:17 EEST 2016
There was an unexpected error (type=Internal Server Error, status=500).
The given id must not be null!; nested exception is java.lang.IllegalArgumentException: The given id must not be null!

Java
Кликните здесь для просмотра всего текста

Java
1
2
3
4
null
2016-07-20 11:38:17.203 ERROR 12916 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: The given id must not be null!; nested exception is java.lang.IllegalArgumentException: The given id must not be null!] with root cause
 
java.lang.IllegalArgumentException: The given id must not be null!


Собственно вопрос, как мне передать 2 параметра из всех в java через JS?


сделал по другому через getJSON:

Кликните здесь для просмотра всего текста
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
function buyFromJS() {
    
 
    $.getJSON("buySuccessfulWhisky",
        {
            nameSelectedWhisky: $('#nameWhiskey').val(),
            quantitySelectedWhisky: $('#numberOrderWhisky').val()
        }
 
   );
        window.location.href = "buySuccessfulWhisky";
 
}

В java все приходит и срабатывает, а вот на сайте теперь выдает ошибку:
HTML5
1
2
3
4
5
6
7
Whitelabel Error Page
 
This application has no explicit mapping for /error, so you are seeing this as a fallback.
 
Wed Jul 20 13:02:53 EEST 2016
There was an unexpected error (type=Bad Request, status=400).
Required String parameter 'nameSelectedWhisky' is not present
Хотя эта строка 'nameSelectedWhisky' приходит в java и работает, в чем тут проблема?

Добавлено через 28 минут
cам пишу сам отвечаю, как всегда в общем там неверно указывал локацию оставлял старую вот она и матюкалась, нужно ставить основную откуда пришел, вот только кидать на нее кидает, но она получается не обновленной, т.к. ты купил бутыль виски, а она показывает, что не покупал, но если обновишь то все верно становится, пробовал так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
 $.getJSON("buySuccessfulWhisky",
        {
            nameSelectedWhisky:$('#nameWhiskey').val(),
            quantitySelectedWhisky:$('#numberOrderWhisky').val()
        },
    window.location.href = "warehouseWhisky"
 
   );
    
    location.reload();
}
так вообще оставляет на прежней странице минуя код window.location.href = "warehouseWhisky"

Добавлено через 4 часа 33 минуты
Буду благодарен, если покажете как через AJax можно было сделать этот код и все таки как сразу обновить страницу не нахожу.

Добавлено через 1 час 57 минут
вот такая попытка через AJAX
Кликните здесь для просмотра всего текста
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  var nameSelectedWhisky = $('#nameWhiskey').val();
    var quantitySelectedWhisky = $('#numberOrderWhisky').val();
    $.ajax({   //тип запроса
        headers: {
            "Accept": "application/json",
            "Content-Type": "application/json"
        },
        type: "POST", //это типа method
        data: JSON.stringify(nameSelectedWhisky.id, quantitySelectedWhisky.id),
 
        url: '/buySuccessfulWhisky',
        success: function (msg) {  //msg - показывает ответ с сервера
            window.location.href = "warehouseWhisky";
        },
        error:function(){
            alert("ERROR");
        }
    })

Почему не отправляет в java? В инструментах разработчика все верно, но все равно ошибка
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.07.2016, 20:04
Ответы с готовыми решениями:

Клиент-серверное ПО на Java/Javascript+HTML
Добрый вечер всем! Мне нужна консультация, если найдутся те, кто сможет мне помочь, буду очень благодарен! Мне нужно реализовать...

LotusScript, Java, JavaScript, , HTML, CSS, SQL...
Возможно данная тема получит развитие в плане демонстрации различными людьми своего опыта работы с данными скриптами. Например, желающие...

Нужны ли javaScript /css/html /xml в java
Нужны ли javaScript /css/html /xml в java, для чего и в какой области они используются (например в создании сайтов на java) и как их...

4
3 / 3 / 14
Регистрация: 26.01.2016
Сообщений: 481
21.07.2016, 21:18  [ТС]
Народ здесь же знающие люди, я не спрашиваю ничего сверхсекретного, просто обьясните где ошибаюсь почему запрос через AJax вообще не работает
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
21.07.2016, 22:04
Huge, вы выложили простыню текста и кучу кода. Полагаю людям лень это читать. Мне, например, лень. Попробуйте задать вопрос кратко и по делу.
0
 Аватар для ninjacut
155 / 154 / 53
Регистрация: 30.04.2016
Сообщений: 321
21.07.2016, 22:36
Вот рабочий пример, разбирайся, поищи ответы сам попробуй. Потом задавай вопросы, если не найдешь ответы быстро.

Java
1
2
3
4
5
6
7
8
@Controller
@RequestMapping("/home")
public class HomeController {
    @RequestMapping(method = RequestMethod.GET)
    public String home() {
        return "home";
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
@RestController
@RequestMapping("/home")
public class HomeRestController {
    @RequestMapping(method = RequestMethod.POST)
    public String postHome(@RequestParam String nameOfWhiskey,
            @RequestParam Integer numberOfWhiskey) {
        System.out.println(nameOfWhiskey);
        System.out.println(numberOfWhiskey);
        return "server got " + nameOfWhiskey + " * " + numberOfWhiskey;
    }
}
HTML5
1
2
3
4
5
<form id="mainForm" method="post">
        <input type="number" name="numberOfWhiskey" value="4" id="number"/>
        <input type="hidden" name="nameOfWhiskey" value="j&d" id="name"/>
        <input type="submit" value="submit" />
    </form>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(function() {
    $("#mainForm").submit(function(e) {
        e.preventDefault();
        
        $.ajax({
            type: "post",
            url: "/TestProject/home",
            data: {
                numberOfWhiskey: $("#number").val(),
                nameOfWhiskey: $("#name").val(),
            },
            success: function(data) {
                console.log(data);
            }
        });
    });
});
1
3 / 3 / 14
Регистрация: 26.01.2016
Сообщений: 481
22.07.2016, 17:47  [ТС]
 Комментарий модератора 
вопросы связанные с JS задавайте в соотв. разделе. Так же в одной теме должен быть только один вопрос.


del

Добавлено через 5 часов 0 минут
жаль дали бы время я бы темку перенес(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.07.2016, 17:47
Помогаю со студенческими работами здесь

Ищу удаленную работу. C++, C#, VB.NET, PHP, Java, SQL, HTML, CSS, JavaScript
Программист ищет уделенную работу. (Удаленную, потому, что я живу не в Default City, и мне сложно будет подъехать к нужной станции метро.) ...

Передача константы через javascript на html страницах(Я напишу 1000 раз "JS не Java")
Добрый день! У меня есть две html-страницы: one.html и two.html Страница one.html должна иметь ссылку в javascript на страницу...

Java и javascript. Передать переменную из Java в Javascript
Здравствуйте,уважаемые форумчане! Я начинающий программист. Разбираюсь в создании JSP страниц. Необходимо передать в переменную,...

Код javascript для создания теста, используя html form и javascript
Привет, собственно, вот, в чём вопрос. У меня есть форма html: &lt;!DOCTYPE HTML&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;&lt;/title&gt; ...

HTML Javascript Adder - плагин для вставки javascript
Подскажите пожалуйста, в чем может быть проблема. Есть сайт на WP 3.6 с установленной темой WpTech версия 2.1. Требуется добавить в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru