Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Jquery ajax запрос вызывает 2 раза сервлет / 7 сообщений из 7, страница 1 из 1
06.07.2013, 13:00
    #38322696
UserQ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery ajax запрос вызывает 2 раза сервлет
Собственно вопрос как это побороть? И из за чего это происходит? Все мои запросы такого рода делают 2 вызова севрлета.

Пример ajax на Jquery

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
$(document).ready(function(){
	$("#outMoney").click(function outMoney(){
		var amount = $("#amount").val();
		var category = $("#category").val();
		var type = $("#type").val();
		var descrip = $("#descrip").val();
		if(amount){
			
			var dataString = "category="+category+"&type="+type+"&amount="+amount+"&descrip="+descrip;
			$.ajax({
				type: "POST",
				url: "OutMoneyServlet",
				data: dataString,
			});
			var info = "<div class=\"alert alert-success\">Data passed sucessefull</div>";
			
		} else {
			var info = "<div class=\"alert alert-error\"> Field amount</div>";
		}
		$("#center").append(info);
	});
});



Так же само происходит, если запрашиваю данные с сервлета. На чистом JS такого не наблюдалось.
...
Рейтинг: 0 / 0
06.07.2013, 13:13
    #38322705
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery ajax запрос вызывает 2 раза сервлет
Что такое outMoney? - Часом, не submit или кнопка с name="submit"? Даже если и не так, то тебе надо прервать обычное выполнение функционала кнопки (или чего бы там ни было), поэтому в конце поставь return false;
Да и реализовано крайне неграмотно ...
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$(document).ready(function(){
	$("#outMoney").click(function(){//внутреннюю функцию принято делать анонимной
		var amount = $("#amount").val();
		if (amount){
			var dataString = {category:$("#category").val(), type:$("#type").val(), amount:amount, descrip:$("#descrip").val();
			$.ajax({type:"POST", url:"OutMoneyServlet", data:dataString, success:function(){
				$("#center").append("<div class=\"alert alert-success\">Data passed sucessefull</div>");
			}, error:function(){
				...
			}});
		} else $("#center").append("<div class=\"alert alert-error\"> Field amount</div>");
		return false;
	});
});
...
Рейтинг: 0 / 0
06.07.2013, 13:27
    #38322711
UserQ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery ajax запрос вызывает 2 раза сервлет
Реализованно

Код: html
1.
<input type="button" ...>



Если

Код: html
1.
<input type="submit" ...>



перезагружает страницу, те ни какой асинхронности не получается.

Функцию сделал не анонимной когда хотел сделать всё это отдельным метод и потом уже его подгружать, либо по кнопки либо при загрузке страницы, но пока не удалось.

Одного не пойму, почему оно 2 раза тогда вызывается из за типа кнопки?

Спасибо.
...
Рейтинг: 0 / 0
06.07.2013, 13:47
    #38322720
UserQ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery ajax запрос вызывает 2 раза сервлет
Исправил свой код, на выше указанный, проблема осталась.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
$(document).ready(function(){
	$("#outMoney").click(function(){
		var amount = $("#amount").val();
		if(amount){
			var dataString = {category:$("#category").val(), type:$("#type").val(), amount:amount, descrip:$("#descrip").val()};
			$.ajax({
				type: "POST",
				url: "OutMoneyServlet",
				data: dataString,
				success:function(){
					$("#center").append("<div class=\"alert alert-success\">Data passed sucessefull</div>");
				},error:function(){
					alert("try again");
				}
			});
		} else {
			$("#center").append("<div class=\"alert alert-error\">Data passed sucessefull</div>");
		}
		return false;
	});
});



Также попробовал вариант с кнопкой, тоже не помогло.

Код: html
1.
<button id="outMoney">Add</button>



Всё это на jsp страницы, с подключенным JSTL, может поможет.
...
Рейтинг: 0 / 0
06.07.2013, 13:57
    #38322727
UserQ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery ajax запрос вызывает 2 раза сервлет
Не большое дополнение. Не правильно понял ошибки, это не сервлет вызывается 2 раза, а скрипт выполняется 2 раза, так как сообщения о ошибке.удаче выводится тоже 2 раза.
...
Рейтинг: 0 / 0
06.07.2013, 14:38
    #38322746
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery ajax запрос вызывает 2 раза сервлет
Абсурд какой-то ...
Сделай атачмент своей страницы к посту.
...
Рейтинг: 0 / 0
06.07.2013, 15:03
    #38322758
UserQ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery ajax запрос вызывает 2 раза сервлет
Разобрался, почему то было продублирована строчка с подвязкой скрипта.

Спасибо.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Jquery ajax запрос вызывает 2 раза сервлет / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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