Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Несколько запросов Ajax (https://javascript.ru/forum/jquery/53434-neskolko-zaprosov-ajax.html)

kenguru111 04.02.2015 01:04

Несколько запросов Ajax
 
Здравствуйте. Из-за чего вкладка зависает, выполняя этот код?

jQuery(document).ready(function($){

$('#o').submit(function(e){
	if($("#o2").is(":checked")){
	e.preventDefault();
	if($.trim($('#text').val()) == '') $("div#t").html('Нужно ввести текст.');
	else{
		$.post("http://url1", { text: $("#text").val() }, success );
		function success(data){ window.dataY = data; }
		$.post("http://url2", { text: window.dataY }, success2 );
		function success2(data){alert(data)}
	}
  }
}
);
});


Вместо url1 и url2 разные урлы. Как использовать результаты одного запроса для выполнения другого запроса?

danik.js 04.02.2015 02:55

Лучше собрать все в один запрос, который сделает все что нужно и вернет все что нужно.
Цитата:

Сообщение от kenguru111
Из-за чего вкладка зависает

Не должна по идее.
Цитата:

Сообщение от kenguru111
Как использовать результаты одного запроса для выполнения другого запроса?

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

Цитата:

Сообщение от kenguru111
else ... function success

Нельзя объявлять функции в ветках if..else, try..catch и т.д.
Можно так:
var success = function() {..}
$.post(_,_,success)


Или

$.post(_,_,function() {..})


Часовой пояс GMT +3, время: 17:30.