How to set timeout for ajax by using jQuery?
Last Updated :
12 Jul, 2025
In web programming, the Ajax is used so that the resultant data is shown in the one part of the web page, without reloading the page. The user needs to perform the Ajax request and wants the result within a timeframe. In this scenario, the jquery
timeout feature is used in the code. Session timeout has been a very common feature in Ajax-based web applications.
In responsive interface, the programmer needs to delay the ajax request to achieve some task before the response. This can be achieved by using jQuery
setTimeout() function. This function executes the given Ajax code after some amount of given time.
Syntax :
Parameters:
- page_url: This parameter is used to submit data or retrieve data.
- options: This parameter is used to hold the other configuration settings required for ajax request.
Below example illustrates the approach:
Example 1:
Program:
- HTML FIle:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Set timeout for ajax using jQuery</title>
<style>
body {
width: 450px;
height: 300px;
margin: 10px;
float: left;
}
.height {
height: 10px;
}
</style>
<script src=
"http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script language="javascript">
var ajaxObject = null;
// ajaxcall function will handle ajax call
function ajaxCall() {
var dataquery = 'true';
if (ajaxObject != null) {
ajaxObject.abort();
$("#ajaxOutput")
.html("Ajax aborted for initialization again! ");
ajaxObject = null;
}
// creating ajax call
ajaxObject = $.ajax({
// setting the url
url: "data.php",
data: {
dataquery: ''
},
// Set to 5 seconds for timeout limit
timeout: 5000,
//Check for success message in ajaxOutput div
success: (function(response, responseStatus) {
if (responseStatus == 'success') {
$("#ajaxOutput").html(response);
}
}),
// Check for existence of file
statusCode: {
404: function() {
$("#ajaxOutput")
.html("File does not exists!");
}
},
// If the time exceeds 5 seconds
// then throw error message
error: function(xhr, textStatus, errorThrown) {
if (textStatus == 'timeout') {
$("#ajaxOutput")
.html("Error : Timeout for this call!");
}
}
});
}
</script>
</head>
<body>
<h1 style="color:green">GeeksforGeeks</h1>
<b> Set timeout for ajax using jQuery </b>
<div class="height"> </div>
<div>
<button type="button" onclick="ajaxCall()">
Send Data
</button>
<div class="height"> </div>
<div id="ajaxOutput"> </div>
</div>
</body>
</html>
- PHP File: The following PHP file is used in the above example.
php
<?php
if($_GET["dataquery"]=='true')
{
sleep(7);
}
echo "Welcome to GeeksForGeeks";
?>
Output :
- Before Clicking on the button :
- After Clicking on the button :
Example 2: The
setTimeout() is a jQuery function which executes a code snippet after delaying a specific time limit. For example, delaying a popup window for a specific time limit, for a user visiting some website. This method accepts a pointer to a function as its first parameter. In this example, delay the Ajax code for 4 seconds using the
setTimeout() method.
Code snippet :
function callerFunction(){
alert("jQuery setTimeOut execution is fine!");
}
setTimeout(callerFunction, 4000);
Or
var callerFunction = function(){
alert("Execution point!");
};
setTimeout(callerFunction, 4000);
Program:
- HTML File:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Set timeout for ajax using jQuery</title>
<style>
<style> body {
width: 450px;
height: 300px;
margin: 10px;
float: left;
}
.height {
height: 10px;
}
</style>
<script src=
"https://code.jquery.com/jquery-3.4.1.js">
</script>
<script>
$(function() {
var timedelay = 4000;
$('#sendData').on('click', function() {
$.ajax({
type: 'POST',
url: 'test.php',
data: {
"data": "checkData"
},
success: function(response) {
setTimeout(function() {
$('#ajaxOutput')
.append(response);
}, timedelay);
}
});
});
});
</script>
</head>
<body>
<h1 style="color:green">GeeksforGeeks</h1>
<b>Set timeout for ajax using jQuery</b>
<div class="height"></div>
<div>
<button type="button" id="sendData">
Set timeout for getting data
</button>
<div class="height"></div>
<div id="ajaxOutput"></div>
</div>
</body>
</html>
- PHP File: For the above example code, use the following PHP file.
php
<?php
if(isset($_POST['data']) && $_POST['data'] == 'checkData'){
$data['value1'] = 'Successfully received first data';
$data['value2'] = 'Successfully received second data';
$response = json_encode($data);
echo $response;
}
?>
Output:
- Before Clicking on the button :
- After Clicking on the button :
Cancel the timeout: Sometimes the programmer needs to cancel the timer set in the code by using jQuery
clearTimeout() method.
jQuery is an open source JavaScript library that simplifies the interactions between an HTML/CSS document, It is widely famous with it's philosophy of “Write less, do more".
You can learn jQuery from the ground up by following this jQuery Tutorial and jQuery Examples.
Similar Reads
How to submit a form using ajax in jQuery ? Submitting a form using AJAX in jQuery allows sending form data to a server asynchronously without reloading the page. This method improves user experience by sending the data in the background and receiving a response without interrupting the user's interaction with the webpage.Syntax:$.ajax({type:
2 min read
How to make a JSON call using jQuery ? Use the getJSON() function in jQuery to load JSON data. The getJSON() function uses a GET HTTP request to retrieve JSON-encoded data from the server. In this article, we will learn about the jQuery getJSON() function and its implementation through examples. Syntax: $(selector).getJSON(url, data, suc
3 min read
How to create a Time Input using jQuery Mobile ? jQuery Mobile is a web-based technology used to make responsive content that can be accessed on all smartphones, tablets, and desktops. In this article, we will be creating a Time Input using jQuery Mobile. Approach: Add jQuery Mobile scripts needed for your project. <link rel=âstylesheetâ href=â
1 min read
How to get server response from an AJAX request using jQuery ? In this article, we will see how we can use jQuery to get the server response to an AJAX request. The jQuery ajax() method implements the basic Ajax functionality in jQuery. It communicates with the server via asynchronous HTTP requests. Syntax:$.ajax(url);$.ajax(url,[options]);Parameters:url: A URL
4 min read
How to End setTimeout After User Input ? To end setTimeout after user input, you can use the clearTimeout function. The clearTimeout() function in JavaScript clears the timeout which has been set by the setTimeout() function before that. Syntax:clearTimeout(name_of_setTimeout);ApproachSet an initial countdown time (e.g., 5 seconds) and a v
3 min read
How to use simple API using AJAX ? AJAX (Asynchronous JavaScript and XML) is a set of tools used to make calls to the server to fetch some data. In this article, we will see how to implement a simple API call using AJAX. Prerequisites: Basic knowledge of AJAX and its function. You can learn all the basics from here. What are basic bu
3 min read