GET request pending

I have setup esp8266 with arduino as guided here

Arduino Code :

  #include <SoftwareSerial.h>
     
    #define DEBUG true
     
    SoftwareSerial esp8266(2,3); // make RX Arduino line is pin 2, make TX Arduino line is pin 3.
                                 // This means that you need to connect the TX line from the esp to the Arduino's pin 2
                                 // and the RX line from the esp to the Arduino's pin 3
    void setup()
    {
      Serial.begin(9600);
      esp8266.begin(9600); // your esp's baud rate might be different

      
      pinMode(13,OUTPUT);
      digitalWrite(13,LOW);
       
      sendData("AT+RST\r\n",2000,DEBUG); // reset module
      
      sendData("AT+CWMODE=2\r\n",1000,DEBUG); // configure as access point
      sendData("AT+CWJAP=\"ssid\",\"password\"\r\n",2000,DEBUG);
      sendData("AT+CIFSR\r\n",1000,DEBUG); // get ip address
      sendData("AT+CIPMUX=1\r\n",1000,DEBUG); // configure for multiple connections
      sendData("AT+CIPSERVER=1,80\r\n",1000,DEBUG); // turn on server on port 80
    }
     
    void loop()
    {
      if(esp8266.available()) // check if the esp is sending a message 
      {
     
        
        if(esp8266.find("+IPD,"))
        {
         delay(1000); // wait for the serial buffer to fill up (read all the serial data)
         // get the connection id so that we can then disconnect
         int connectionId = esp8266.read()-48; // subtract 48 because the read() function returns 
                                               // the ASCII decimal value and 0 (the first decimal number) starts at 48
              
         esp8266.find("pin="); // advance cursor to "pin="
         
         int pinNumber = (esp8266.read()-48)*10; // get first number i.e. if the pin 13 then the 1st number is 1, then multiply to get 10
         pinNumber += (esp8266.read()-48); // get second number, i.e. if the pin number is 13 then the 2nd number is 3, then add to the first number
         
         digitalWrite(pinNumber, !digitalRead(pinNumber)); // toggle pin    
         
         // make close command
         String closeCommand = "AT+CIPCLOSE="; 
         closeCommand+=connectionId; // append connection id
         closeCommand+="\r\n";
         
         sendData(closeCommand,1000,DEBUG); // close connection
        }
      }
    }
     
    /*
    * Name: sendData
    * Description: Function used to send data to ESP8266.
    * Params: command - the data/command to send; timeout - the time to wait for a response; debug - print to Serial window?(true = yes, false = no)
    * Returns: The response from the esp8266 (if there is a reponse)
    */
    String sendData(String command, const int timeout, boolean debug)
    {
        String response = "";
        
        esp8266.print(command); // send the read character to the esp8266
        
        long int time = millis();
        
        while( (time+timeout) > millis())
        {
          while(esp8266.available())
          {
            
            // The esp has data so display its output to the serial window 
            char c = esp8266.read(); // read the next character.
            response+=c;
          }  
        }
        
        if(debug)
        {
          Serial.print(response);
        }
        
        return response;
    }

Html code:

<button id="13" class="led">Toggle Pin 13</button> <!-- button for pin 13 --> 
 <script src="jquery.min.js"></script>
 <script type="text/javascript">
 $(document).ready(function(){
 $(".led").click(function(){
 var p = $(this).attr('id'); // get id value (i.e. pin13)
 // send HTTP GET request to the IP address with the parameter "pin" and value "p", then execute the function
 $.get("http://192.168.0.105:80/", {pin:p}); // execute get request
 });
 });

Now whenever I send a get request it works fine but after 3-4 requests ,the request become pending and after 1-2 pending request if I send requests again it works fine . So after 3-4 times toggling the led , the toggle no longer works and works again after 2-3 times clicking.The server is getting busy somehow and I can’t figure out why or how to solve it.Any help will be appreciated