Важно предоставлять своим пользователям обратную связь при ожидании выполнения запросов AJAX с точки зрения удобства использования, а также потому, что это мешает им делать такие вещи, как повторное нажатие кнопки отправки, поскольку они думают, что ничего не происходит.
То, как вы это делаете, зависит от вашей реализации, но обычно вы можете делать такие вещи, как отображать анимированный GIF в начале вашего вызова ajax (который вы можете сгенерировать на http://ajaxload.info/), а затем снова скрывать его в onSuccess () метод. При использовании jQuery что-то вроде
<div id="progress" style="display: none;"><img src="ajax-loading.gif"/></div>
$('#button').click(function(){
$('#progress').show();
// ajax call
});
function onSuccess() {
$('#progress').hide();
}
Это в равной степени относится к использованию чего-то вроде службы WCF с поддержкой AJAX. Вы также можете использовать следующее при работе с UpdatePanels
<asp:UpdatePanelAnimationExtender ID="uppEx"
runat="server"
BehaviorID="animation"
TargetControlID="upResults">
<Animations>
<OnUpdating>
<Parallel duration="0">
<ScriptAction Script="onUpdating();" />
<EnableAction AnimationTarget="btnSearch" Enabled="false" />
<FadeOut minimumOpacity=".2" />
</Parallel>
</OnUpdating>
<OnUpdated>
<Parallel duration="0">
<ScriptAction Script="onUpdated();" />
<EnableAction AnimationTarget="btnSearch" Enabled="true" />
<FadeIn minimumOpacity=".2" />
</Parallel>
</OnUpdated>
</Animations>
</asp:UpdatePanelAnimationExtender>