Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
0 / 0 / 1
Регистрация: 06.10.2015
Сообщений: 70

Получение данных с помощью ajax

13.07.2016, 16:29. Показов 4327. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Второй день бьюсь об это, хотя обещалось, что все легко. В дебаггере видно, что на сервлет данные пришли ( правда знак плюса куда-то пропал, но это решаемо ), данные верно обработались, но обратно получить их на jsp и вставить никак не получается. Что за дела?
JavaScript
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
<script type="text/javascript">
            $( document ).ready( function(){
                $( '#submitButton' ).on( 'click' , function(){
                    var text = $( '#displayText' ).val();
                    if( text === "0 " ){
                        $( '#displayText' ).val( "Вы ничего не ввели." );
                    }else{
                        
                        $.ajax({
                            type: 'post',
                            method: 'POST',
                            async: true,
                            url: 'Calculating',
                            data: "req=" + text,
                            dataType: "html",
                            succsess: function( responseText ){
                                var ok = String(responseText);
                                $( '#displayText' ).val( ok + " " );
                            }
                            
                        });
                    }
                }); 
            });
        </script>
,
HTML5
1
2
<input id="displayText" class="display" value="0 " />
<input type="button" id="submitButton" class="entryButton" value="="/>
,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        String entryParam;
        //entryParam = ( String )request.getParameter( "req" ).substring( 0 , request.getParameter( "req" ).length() - 1  );
        entryParam = "9+8";
        String result;
        //if( entryParam == null )
         //   result = "null";
        //else
            result = count( entryParam );
        response.setContentType("text/plain");
        response.setCharacterEncoding( "charset=UTF-8" );
        response.getWriter().write( result );
    }
В entryParam данные приходят ( закончено для отладки ), в result получен верный ответ, но потом на jsp не знаю, как получить ответ обратно. Помогите, пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.07.2016, 16:29
Ответы с готовыми решениями:

Jsoup & js ajax получение данных из бд ajax (или как-то так :)
Привет! Есть сайт с видео, на нем мне нужная страница с информацией. Парсил с помощью Jsoup, в принципе и до сих пор ней пользуюсь, но с...

Получение нескольких строк от сервера с помощью ajax
Привет, Помогите плиз, на сервере формируются 2 строки (json). как их отправить (echo $str1; echo $str2 ???), и как их потом...

Получение ссылок на видео на стороннем сайте при получении запроса с помощью Ajax
Всем читающим привет! Я java (android начинающий) программист, это так что б Вы знали что я в javascript ничего не смыслю. Есть программа...

17
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
13.07.2016, 18:58
внимание вопрос
вы данные на сервер получили? обработали?
если так, то проблема состоит в том, чтобы вернуть их с сервера обратно браузеру уже обработанными
тк вот, как мне кажется, браузер не виноват в том, что сервер ему ничего не прислал
0
0 / 0 / 1
Регистрация: 06.10.2015
Сообщений: 70
13.07.2016, 20:26  [ТС]
ну вот с помощью метода write() у response.getWriter() ничего обратно не присылается. никаких ошибок, ничего. Здесь я не могу понять: то ли я не так отдаю ответ с сервера, то ли не так его получаю. а узнать пока не получается.

Добавлено через 2 минуты
BANO, ну вот с помощью метода write() у response.getWriter() ничего обратно не присылается. никаких ошибок, ничего. Здесь я не могу понять: то ли я не так отдаю ответ с сервера, то ли не так его получаю. а узнать пока не получается.

Добавлено через 15 минут
посмотрел, что мне сервер шлет при первой загрузке страницы, там поле exceptionOnFailedWrite = true, конечно слабо себе представляю, на что это влияет, но судя по названию что-то не так
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
13.07.2016, 21:45
Paevl, уу... это вам точно не сюда
сейчас тему перенесу
0
 Аватар для ninjacut
155 / 154 / 53
Регистрация: 30.04.2016
Сообщений: 321
13.07.2016, 23:08
Ставишь postman плагин например в chrome, и смотришь что приходит в ответ на post запрос. За тебя это делать никто не будет. Без этой информации много чего ты может быть не так.
0
0 / 0 / 1
Регистрация: 06.10.2015
Сообщений: 70
14.07.2016, 00:25  [ТС]
ninjacut, ок, я учту. Как я понял этот плагин по типу дебага сервера?
А вообще так как я пока только начинаю это учить, не понимаю, почему у остальных то же самое работает, а у меня нет
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.07.2016, 02:02
Цитата Сообщение от Paevl Посмотреть сообщение
Как я понял этот плагин по типу дебага сервера?
нет, это плагин, который вообще-то нафиг не нужон, потому что у хрома есть внутри уже достаточный набор инструментов для дебага и отслеживания действий браузера...

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

короче, вы, как и многие новички в вебе, путаете сервер с клиентом, а точнее возможности клиента и сервера
0
0 / 0 / 1
Регистрация: 06.10.2015
Сообщений: 70
14.07.2016, 06:00  [ТС]
BANO, как можно тогда отследить, ушёл ли ответ с сервера?

Добавлено через 7 минут
BANO, никаких ошибок ведь не вылетает на сервере, ставил точки останова уже на методе write - пусто. Но в клиенте ничего все равно не меняется
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.07.2016, 06:55
Paevl, тогда запускаем wireshark и смотрим, что идёт, что не идёт
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
14.07.2016, 07:30
Цитата Сообщение от Paevl Посмотреть сообщение
как можно тогда отследить, ушёл ли ответ с сервера?
можно через console.log
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.07.2016, 07:36
asus, в данном случае, если ответ пришёл, то у элемента с id displayText меняется значение
думаю трудно заметить отсутствие значения
хотя...

попробуем методом тыка
Paevl, попробуйте вот такой код, он полюбасу в консоль что-то да выведет
JavaScript
1
2
3
4
5
6
7
8
9
10
$.ajax({
    type: 'post',
    method: 'POST',
    async: true,
    url: 'Calculating',
    data: "req=" + text,
    dataType: "html",
    success: console.info.bind(console),
    error: console.error.bind(console)
});
Добавлено через 1 минуту
блин... тупая же ошибка... вот я дебил то, не заметил такую бредовую ошибку
нет ну не дебил ли, а?

Paevl, вы пишите succsess, а надо success
лишняя буква, и он уже не знает чем ему обрабатывать ответ
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
14.07.2016, 08:46
Цитата Сообщение от BANO Посмотреть сообщение
нет, это плагин, который вообще-то нафиг не нужон
Цитата Сообщение от BANO Посмотреть сообщение
запускаем wireshark и смотрим, что идёт, что не идёт
Ставить wireshark только для того чтобы послать запрос и посмотреть ответ это извращение. Выше правильно написали. Для работы с веб сервером нужен постмен или advanced rest plugin для хрома.

Цитата Сообщение от Paevl Посмотреть сообщение
Как я понял этот плагин по типу дебага сервера?
это плагин для отправки запросов на сервер. Если бы вы его поставили, сразу бы поняли где проблема. В клиенте или в сервере.
0
0 / 0 / 1
Регистрация: 06.10.2015
Сообщений: 70
14.07.2016, 08:52  [ТС]
BANO, KEKCoGEN, asus, ninjacut, короче я переписал на вот так ( понимаю, что разницы мало, но теперь хоть что-то приходит ).
JavaScript
1
2
3
4
5
6
7
8
$.post( "Calculating" , 
                        {
                            req : text
                        },
                        function( data , status ){
                            $( '#displayText' ).val( data );
                            alert( status + " " + data );
                        });
В итоге вылетает только "success", что удивительно, сам ответ пришел, но данные оттуда не распаковались видимо.
пошагал немного по дебаггеру, судя по всему не удается получить response.getWritter(). вылетает неизвестное исключение и переход в ThreadPoolExecutor. Что всё это значит?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
14.07.2016, 08:55
Paevl, вы не читаете что вам пишут? Никому не интересен ваш JS в этом разделе. Ставьте плагин и постите сюда его output а так же логи сервера
0
0 / 0 / 1
Регистрация: 06.10.2015
Сообщений: 70
14.07.2016, 09:18  [ТС]
KEKCoGEN, ок, раз не интересно, то вот сервлет
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
String entryParam;
        entryParam = ( String )request.getParameter( "req" ).substring( 0 , request.getParameter( "req" ).length() - 1  );
        //entryParam = "9+8";
        String result;
        if( entryParam == null )
            result = "null";
        else
            result = count( entryParam );
        
        response.setContentType("text/plain");
        response.setCharacterEncoding( "charset=UTF-8" );
        
        PrintWriter out;
        try{
            out = response.getWriter();
            out.write( result );
        }catch( Exception e ){
            System.out.println( e.getMessage() );
        }
До write не дошел, e.getMessage() ничего не вывел, либо не могу найти в netbeans

Добавлено через 20 минут
Все успешно решилось. Была проблема в кодировке, поэтому не открывался выходной поток. Поменял
Java
1
2
[quote="Paevl;9369271"]response.setContentType("text/plain");
* * * * response.setCharacterEncoding( "charset=UTF-8" );[/quote]
на
Java
1
response.setContentType("text/html;charset=UTF-8");
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.07.2016, 18:32
KEKCoGEN, я считаю, что для того, чтобы с браузера отправлять запросы, совершенно не нужен плагин, весь функционал этого плагина является стандартным функционалом инструментов разраба в хроме

а ваершарк я предложил, потому что до браузера может запрос тупо не доходить, точнее не запрос, а ответ
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
14.07.2016, 18:37
Цитата Сообщение от BANO Посмотреть сообщение
весь функционал этого плагина является стандартным функционалом инструментов разраба в хроме
ну да...особенно когда есть 3 проекта и у каждого в апи 20-30 разных запросов со сложными джсонами. Очень удобно их каждый раз руками набирать.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.07.2016, 18:56
KEKCoGEN, а это уже у кого как руки набиты)
мне лично не трудно написать ещё одну строчечку кода, тем более на этой долбаной jq
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.07.2016, 18:56
Помогаю со студенческими работами здесь

Получение данных из PHP в Ajax
Всем доброго дня! Помогите разобраться начинающему, где допустил ошибку. Надо из PHP передать данные в Ajax и вывести эти данные на...

Отправка и получение данных ajax
Отправляю данные через ajax $.ajax({ url: '../send.php', type: 'post', data:{ 'Weight': FullWeight, ...

Получение данных от сервера (AJAX)
Доброго времени суток, коллеги! Недавно начал разбираться с технологией AJAX, и у меня, как у новичка, возник вопрос. Задача простейшая -...

Получение изображений из базы данных AJAX
Всем привет, как получить фотографии из базы данных, используя AJAX во View?

Получение данных при помощи ajax
В общем везде много написано про отсылку данных при помощи ajax... Но вот про получение что-то как-то не нарыл внятного... В общем по клику...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
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