What is the difference between ajaxSend() and ajaxStart() functions in jQuery?


ajaxSend() method

The ajaxSend(callback) method attaches a function to be executed whenever an AJAX request is sent.

Here is the description of all the parameters used by this method:

  • callback − The function to execute. The XMLHttpRequest and settings used for that request are passed as arguments to the callback.

Assuming we have the following HTML content in result.html file:

<h1>THIS IS RESULT...</h1>

Example

The following is an example showing the usage of this method:

Live Demo

<html>

   <head>
      <title>The jQuery Example</title>
      <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
       
      <script>
         $(document).ready(function() {
           
            /* Global variable */
            var count = 0;
               
            $("#driver").click(function(event){
               $('#stage0').load('result.html');
            });
               
            /* Gets called when request starts */
            $(document).ajaxStart(function(){
               count++;
               $("#stage1").html("<h1>Starts, Count :" + count + "</h1>");
            });

            /* Gets called when request is sent */
            $(document).ajaxSend(function(evt, req, set){
               count++;
               $("#stage2").html("<h1>Sends, Count :" + count + "</h1>");
               $("#stage2").append("<h1>URL :" + set.url  + "</h1>");
            });
               
            /* Gets called when request complete */
            $(document).ajaxComplete(function(event,request,settings){
               count++;
               $("#stage3").html("<h1>Completes, Count :" + count + "</h1>");
            });
               
         });
      </script>
   </head>
   
   <body>
   
      <p>Click on the button to load result.html file:</p>
       
      <div id = "stage0" style = "background-color:blue;">
         STAGE - 0
      </div>
       
      <div id = "stage1" style = "background-color:blue;">
         STAGE - 1
      </div>
       
      <div id = "stage2" style = "background-color:blue;">
         STAGE - 2
      </div>
       
      <div id = "stage3" style = "background-color:blue;">
         STAGE - 3
      </div>
       
      <input type = "button" id = "driver" value = "Load Data" />
       
   </body>
   
</html>

ajaxStart() method

The ajaxStart( callback ) method attaches a function to be executed whenever an AJAX request begins and there is none already active..

Here is the description of all the parameters used by this method −

  • callback − The function to execute.

Let’s say we have the following HTML content in result.html file:

<h1>THIS IS RESULT...</h1>

Example

The following is an example showing the usage of this method:

Live Demo

<html>

   <head>
      <title>The jQuery Example</title>
      <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
       
      <script>
         $(document).ready(function() {
            /* Global variable */
            var count = 0;

            $("#driver").click(function(event){
               $('#stage1').load('result.html');
            });
               
            /* Gets called when request starts */
               
            $(document).ajaxStart(function(){
               count++;
               $("#stage2").html("<h1>Starts, Count :" + count + "</h1>");
            });
               
            /* Gets called when request complete */
            $(document).ajaxComplete(function(event,request,set){
               count++;
               $("#stage3").html("<h1>Completes,Count:" + count + "</h1>");
            });
               
         });
      </script>
   </head>
   
   <body>
   
      <p>Click on the button to load result.html file:</p>
       
      <div id = "stage1" style = "background-color:blue;">
         STAGE - 1
      </div>
       
      <div id = "stage2" style = "background-color:blue;">
         STAGE - 2
      </div>
       
      <div id = "stage3" style = "background-color:blue;">
         STAGE - 3
      </div>
       
      <input type = "button" id = "driver" value = "Load Data" />
       
   </body>
</html>

Updated on: 15-Jun-2020

294 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements