降低JQuery ajax调用的速度

Slow down a JQuery ajax call?

本文关键字:速度 调用 ajax JQuery 降低      更新时间:2023-09-26

我正在为jquery的ajax登录系统工作,一切似乎都工作得很好,我的问题是我如何能够在成功显示GIF加载图像之前减慢调用或暂停x秒?

代码:

$('.AJAX').on('submit', function(event) 
{
    event.stopPropagation();
    event.preventDefault();
    var This = $(this);
    var Data = {};
    This.find('[name]').each(function(Index, Value) {
    var This = $(this),
    Name = This.attr('name'),
    Value = This.val();
    Data[Name] = Value
});
$.ajaxSetup(
{
    beforeSend:function()
    {
        $('.Msg').html('<img src="../Assets/Pictures/Loading.gif" />');
    },
    complete:function()
    {
        $('.Msg').find('img').remove();
    }
});
$.ajax(
{
    url:'Log.php',
    type:'POST',
    data:Data,
    success:function(Data)
    {
        $('.Msg').html('<span style="color:red">' + Data + '</span>').hide().fadeIn('fast');
    });
    return false;
});

你可以使用基本的setTimeout来延迟动作:

success:function(Data) {
  setTimeout(function(){
       $('.Msg').html('<span style="color:red">' + Data + '</span>').hide().fadeIn('fast');
  }, 5000); // wait 5 seconds before showing the message
});
jQuery .delay()延迟效果队列中的效果。.html()不是一个效果,所以它不会受到该方法的影响。