27. Глобальні функції

Глобальні функції розширюють можливості Ajax. Починаючи з версії jQuery 1.9 всі обробники глобальних подій Ajax jQuery приєднуються до document

.ajaxStart(function(){...}) - виконується на початку першого Ajаx-запиту, якщо в черзі кілька запитів, то виконується тільки один раз
.ajaxSend(function(event, request, settings){...}) - виконується перед кожним запитом, можливо отримати параметри і ідентифікувати функцію
.ajaxSuccess(function(event, xhr, settings){...}) - виконується у разі іспішного виконання запиту, відповідь можно отримати в текстовому або xml вигляді (xhr.responseText або xhr.responseXML)
.ajaxError(function(event, jqXHR, ajaxSettings, thrownError){...}) - виконується у разі помилки
.ajaxComplete(function(event, xhr, settings){...}) - виконується після кожного запиту
.ajaxStop(function(){...}) - виконується один раз після останнього запиту

Приклади

Відправимо одразу два запити, перший на сторінку - demoajax/page5.php, другий на неіснуючу сторінку demoajax/p5.php і повернемо у форматі json

 $('#btnglob1').click(function(){

 	        var X = $('#numX').val();
            var Y = $('#numY').val();
     $.ajax({
           type: "POST",
           url: "demoajax/page5.php",
           data:({x:X, y:Y}),
           dataType: "json",
           }).done (function(res){
    	       $('#inf1').html(res.n1+'-'+res.n2);
    	     });
   $.ajax({
           type: "POST",
           url: "demoajax/p5.php", // сторінка не існує
           data:({x:X, y:Y}),
           dataType: "json",
           }).done (function(res){
    	       $('#inf2').html(res.n1+'-'+res.n2);
    	     }); 	     
 }); 
 
Чиcло Х : Чиcло Y :

.ajaxStart():
.ajaxSend():
повернені дані:
.ajaxSuccess():
.ajaxError():
.ajaxComplete():
.ajaxStop():

Глобальні функції Ajax

$(document).ajaxStart(function(){
           $('#aS1').append('на початку запиту');
});
       
$(document).ajaxSend(function(event, request, settings){
	if(settings.url == 'demoajax/page5.php' || settings.url == 'demoajax/p5.php')
           $('#aS2').append('перед запитом: '+settings.url+'<br/>');
});           
  
$(document).ajaxSuccess(function(event, xhr, settings){
	if(settings.url == 'demoajax/page5.php' || settings.url == 'demoajax/p5.php')
          $('#aS3').append('іспішний запит'+xhr.responseText);
});

$(document).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) {
  $( "#aR" ).append( "Помилка: " + ajaxSettings.url  );
});

$(document).ajaxComplete(function(event, xhr, settings){
	if(settings.url == 'demoajax/page5.php' || settings.url == 'demoajax/p5.php')
           {$('#aC1').append('після запиту - ')} ;
});

$(document).ajaxStop(function(){
	  $('#aS4').append('наостанок');
});          

далі ✏
Ігор Ка