Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Статус выполнения запроса AJAX (https://javascript.ru/forum/jquery/26439-status-vypolneniya-zaprosa-ajax.html)

n1ko 08.03.2012 17:47

Статус выполнения запроса AJAX
 
Доброго времени суток. Не знаю как точно назвать эту тему и надеюсь на ваше понимание, т.к. я в jQuery не совсем новичок, но и не уверенный пользователь.

Решил добавить в свой интерфейс, для работы с данными, статус-бар. Чтобы человек понимал, что операция пока выполняется и стоит немного подождать, а не кликать повторно по кнопке и нарушать работу скрипта.

Суть вопроса вот в чём. Как мне получить состояние операции? Выполнена она уже, или запрос пока обрабатывается. Если есть уже топики на этом сайте - прошу прощения. Буду рад если вы направите меня на нужный материал, или подскажете решение.
нужно лишь получить сигнал о том, что операция выполнена или не выполнена по каким-либо причинам (например которые перенаправятся с обработчика).

Спасибо заранее.

devote 08.03.2012 18:06

jQuery.ajax({
	url: 'some.php',
	data: 'action=blatest',
	type: 'post',
	dataType: 'html',
	success: function( data ) {
		alert( data ); // пришедшие данные
	},
	complete: function( xhr ) {
		alert( 'запрос успешно выполнен' );
	},
	error: function( xhr, status ) {
		alert( 'произошла ошибка при выполнении запроса' );
	}
});

n1ko 08.03.2012 18:21

Спасибо! Сейчас пойду пробовать!

Цитата:

Сообщение от devote (Сообщение 162022)
error: function( xhr, status ) {
        alert( 'произошла ошибка при выполнении запроса' );
    }

А какие ошибки могут произойти?

devote 08.03.2012 18:22

Цитата:

Сообщение от n1ko
А какие ошибки могут произойти?

Разорвало связь, не найдена страница, и т.д. и т.п.

n1ko 08.03.2012 18:25

А ошибки из обработчика (например "такой пользователь существует") я могу получить сам в "success", верно?

devote 08.03.2012 18:26

Цитата:

Сообщение от n1ko (Сообщение 162029)
А ошибки из обработчика (например "такой пользователь существует") я могу получить сам в "success", верно?

Ага

T-sh 08.03.2012 19:33

вместе с вызовом ajax высвечиваешь что-то вроде "операция началась, подождите". по пришествии результата — "операция успешно завершена бла-бла-бла или ошибки от обработчика", ну и по ошибке: "ошибка: что-то пошло не так..."


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