2014-01-17 4 views
0

Я пытаюсь отобразить загрузочный div при отправке запроса на отправку ajax. Пробовал с этим кодом его не работает. Пожалуйста, помогите мне решить эту проблему.Показать Загрузка окна jQuery

$(document).ready(function() { 
    $('a.pagerlink').click(function(event){ 
     var id = $(this).attr('id'); 

     beforeSend: function() { 
      $('#load').show(); 
     }, 
     complete: function() { 
      $('#load').hide(); 
     }, 
     $.post(
       "invited-friends", 
       { gameid: id }, 
     function(data) { 
       $('#middlefriends').html(data); 
      } 

     ); 
    }); 
}); 

Мой html код

Loading ..
 <a id="1" class="pagerlink" >hi</a> 

Am ожидает отображения нагрузки div при возникновении ajax пост. И скрыть груз div после запроса завершено.

+0

Почему '' beforeSend' и complete' устанавливаются как часть 'click' события и не' $ .post' вызова? Я удивлен, что вы не получили сообщений об ошибках. – melancia

+0

жаль новичок в ajax. Я не получаю никаких результатов – Dibish

+2

Лучшим советом было бы открыть консоль для цели отладки –

ответ

1

Вот измененный код: -

$(document).ready(function() { 
    $('a.pagerlink').click(function(event){ 
     var id = $(this).attr('id'); 
     $('#load').show(); 
     $.post("invited-friends", { gameid: id }, function(data) { 
      $('#load').hide(); 
      $('#middlefriends').html(data); 
     }); 
    }); 
}); 
+1

Большое вам спасибо за его работу – Dibish

+0

@ Dibish вы можете принять этот ответ? –

+0

@Promod Pandey, пожалуйста, помогите мне написать функцию сбоя, затем я могу скрыть #load div .fail (function() { alert ("error"); $ ('# load'). Hide () }) – Dibish

2

Вы можете вместо этого использовать .ajaxStart и .ajaxStop методы:

var loading = $("#load"); 
$(document).on({ 
    ajaxStart: function() { loading.show(); }, 
    ajaxStop : function() { loading.hide(); } 
}); 
+0

http://www.w3schools.com/jquery/ajax_ajaxstart.asp http://www.w3schools.com/jquery/ajax_ajaxstop.asp –

+0

я бы не использовал глобальный ajax только для конкретного запроса, так или иначе +1 –

+0

@ A.Wolff Это соответствует документации jQuery. Начиная с версии 1.8, 'ajaxStart' и' ajaxStop' должны быть прикреплены только к 'document'. – Sampson

2

ваш делают это неправильно. Если вы пытаетесь сделать вызов AJAX, то он должен быть, как этот

$.ajax({ 
    url:"invited-friends", 
    data: { gameid: id }, 
    type:'POST', 
    success:function(data) { 
     $('#middlefriends').html(data); 
    }, 
    error: function(data) { 
     console.log(data); 
    }, 
    beforeSend: function() { 
     $('#load').show(); 
    }, 
    complete: function() { 
     $('#load').hide(); 
    } 
}); 
Смежные вопросы