• Home
  • Jobs
  • Courses
  • Certifications
  • Companies
  • Online IDE
  • Login
  • Signup
MYTAT
  • Home
  • Jobs
  • Courses
  • Certifications
  • Companies
  • Online IDE
  • Login
  • Signup
JQuery
  • Introduction To JQuery
  • DOM Manipulation With JQuery
  • Event Handling With JQuery
  • JQuery Effects And Animations
  • AJAX With JQuery
  • JQuery Plugins
  • Responsive Web Design With JQuery
  • Form Validation With JQuery
  • Advanced Topics In JQuery
  • Home
  • Courses
  • JQuery
  • AJAX With JQuery

AJAX with jQuery

Previous Next

Making Asynchronous HTTP Requests Using JQuery AJAX Methods

Asynchronous HTTP requests are essential for creating dynamic and responsive web applications. jQuery's AJAX methods provide a simple and powerful way to make these requests. This guide will cover the fundamentals of using jQuery AJAX methods, providing detailed examples to help you understand and implement asynchronous HTTP requests effectively.

Introduction to AJAX

AJAX (Asynchronous JavaScript and XML) allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes. This means that parts of a web page can be updated without reloading the whole page, leading to a smoother and faster user experience.

jQuery AJAX Methods

jQuery offers several methods to perform AJAX requests:

  • $.ajax()
  • $.get()
  • $.post()
  • $.getJSON()
  • $.getScript()

Each method serves different purposes and provides a range of options to handle asynchronous requests efficiently.

The $.ajax() Method

The $.ajax() method is the most versatile and configurable AJAX method in jQuery. It allows you to make asynchronous HTTP requests with various options, such as specifying the request method, URL, data to be sent, and callback functions for handling success, error, and completion events.

Syntax

$.ajax({
    url: 'URL',          // URL to send the request to
    type: 'GET/POST',    // HTTP method
    data: {},            // Data to be sent to the server
    success: function(response) {}, // Callback function executed on success
    error: function(jqXHR, textStatus, errorThrown) {}, // Callback function executed on error
    complete: function(jqXHR, textStatus) {} // Callback function executed when the request finishes
});

Example: Making a GET Request

Let's start with a simple example where we make a GET request to fetch data from a server.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery AJAX Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <div id="result"></div>

    <script>
        $(document).ready(function() {
            $.ajax({
                url: 'https://jsonplaceholder.typicode.com/posts/1',
                type: 'GET',
                success: function(response) {
                    $('#result').html(`<h3>${response.title}</h3><p>${response.body}</p>`);
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    $('#result').html('<p>An error occurred: ' + textStatus + '</p>');
                }
            });
        });
    </script>
</body>
</html>

Try it now

In this example, we use the $.ajax() method to send a GET request to https://jsonplaceholder.typicode.com/posts/1. Upon a successful response, the title and body of the post are displayed inside a div with the id result.

Example: Making a POST Request

Next, let's look at how to make a POST request to send data to the server.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery AJAX POST Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <form id="myForm">
        <input type="text" id="title" placeholder="Title">
        <textarea id="body" placeholder="Body"></textarea>
        <button type="submit">Submit</button>
    </form>
    <div id="result"></div>

    <script>
        $(document).ready(function() {
            $('#myForm').submit(function(event) {
                event.preventDefault(); // Prevent the default form submission

                var formData = {
                    title: $('#title').val(),
                    body: $('#body').val()
                };

                $.ajax({
                    url: 'https://jsonplaceholder.typicode.com/posts',
                    type: 'POST',
                    data: JSON.stringify(formData),
                    contentType: 'application/json; charset=utf-8',
                    success: function(response) {
                        $('#result').html('<p>Post created: ' + response.id + '</p>');
                    },
                    error: function(jqXHR, textStatus, errorThrown) {
                        $('#result').html('<p>An error occurred: ' + textStatus + '</p>');
                    }
                });
            });
        });
    </script>
</body>
</html>

Try it now

In this example, we create a form that submits a new post to the server. The form data is serialized into a JSON string and sent to https://jsonplaceholder.typicode.com/posts using a POST request. The response from the server, which includes the ID of the newly created post, is displayed inside the div with the id result.

Handling Different Data Types

jQuery AJAX methods can handle various data types, such as JSON, XML, HTML, and script. The dataType option in the $.ajax() method specifies the type of data expected from the server.

Example: Handling JSON Data

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery AJAX JSON Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <div id="result"></div>

    <script>
        $(document).ready(function() {
            $.ajax({
                url: 'https://jsonplaceholder.typicode.com/users/1',
                type: 'GET',
                dataType: 'json',
                success: function(response) {
                    $('#result').html(`<h3>${response.name}</h3><p>${response.email}</p>`);
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    $('#result').html('<p>An error occurred: ' + textStatus + '</p>');
                }
            });
        });
    </script>
</body>
</html>

Try it now

In this example, we specify dataType: 'json' to indicate that the response from the server will be in JSON format. The user's name and email are displayed inside the div with the id result.

Example: Handling HTML Data

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery AJAX HTML Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <div id="result"></div>

    <script>
        $(document).ready(function() {
            $.ajax({
                url: 'example.html', // Assume this URL returns some HTML content
                type: 'GET',
                dataType: 'html',
                success: function(response) {
                    $('#result').html(response);
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    $('#result').html('<p>An error occurred: ' + textStatus + '</p>');
                }
            });
        });
    </script>
</body>
</html>

In this example, the response from the server is expected to be HTML content. The dataType is set to 'html', and the content is directly inserted into the div with the id result.

Example: Handling Script Data

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery AJAX Script Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <button id="loadScript">Load Script</button>

    <script>
        $(document).ready(function() {
            $('#loadScript').click(function() {
                $.ajax({
                    url: 'example.js', // Assume this URL returns some JavaScript code
                    type: 'GET',
                    dataType: 'script',
                    success: function(response) {
                        console.log('Script loaded and executed.');
                    },
                    error: function(jqXHR, textStatus, errorThrown) {
                        console.log('An error occurred: ' + textStatus);
                    }
                });
            });
        });
    </script>
</body>
</html>

In this example, clicking the button triggers an AJAX request to load a JavaScript file. The dataType is set to 'script', indicating that the response should be executed as JavaScript code.

Using $.get(), $.post(), and Other Helper Methods

While $.ajax() provides the most flexibility, jQuery also offers simpler methods for common AJAX requests:

  • $.get(url, data, success, dataType)
  • $.post(url, data, success, dataType)
  • $.getJSON(url, data, success)
  • $.getScript(url, success)

These methods are shorthand for $.ajax() with specific options set.

Example: Using $.get()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery $.get() Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <div id="result"></div>

    <script>
        $(document).ready(function() {
            $.get('https://jsonplaceholder.typicode.com/posts/1', function(response) {
                $('#result').html(`<h3>${response.title}</h3><p>${response.body}</p>`);
            });
        });
    </script>
</body>
</html>

Try it now

In this example, we use $.get() to make a GET request. The callback function handles the response, similar to the success function in $.ajax().

Example: Using $.post()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery $.post() Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <form id="myForm">
        <input type="text" id="title" placeholder="Title">
        <textarea id="body" placeholder="Body"></textarea>
        <button type="submit">Submit</button>
    </form>
    <div id="result"></div>

    <script>
        $(document).ready(function() {
            $('#myForm').submit(function(event) {
                event.preventDefault();

                var formData = {
                    title: $('#title').val(),
                    body: $('#body').val()
                };

                $.post('https://jsonplaceholder.typicode.com/posts', formData, function(response) {
                    $('#result').html('<p>Post created: ' + response.id + '</p>');
                });
            });
        });
    </script>
</body>
</html>

In this example, $.post() is used to make a POST request, sending the form data to the server and displaying the response.



Practice Excercise Practice now

Handling AJAX Responses And Processing Data In JSON, XML, Or HTML Formats

Handling AJAX responses and processing data in various formats (JSON, XML, or HTML) is a crucial aspect of developing dynamic and responsive web applications. In this guide, we'll explore how to handle and process these different data formats using jQuery AJAX methods.

Introduction to AJAX Responses

When an AJAX request is made, the server sends back a response. This response can be in various formats, such as JSON, XML, or HTML. Processing these responses correctly is essential to ensure the web application behaves as expected. jQuery provides robust methods to handle and process these responses efficiently.

JSON (JavaScript Object Notation)

JSON is a lightweight data interchange format that's easy for humans to read and write and easy for machines to parse and generate. It's the most commonly used format for data exchange in web applications due to its simplicity and compatibility with JavaScript.

XML (eXtensible Markup Language)

XML is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It's more verbose than JSON and is often used in enterprise and legacy systems.

HTML (HyperText Markup Language)

HTML is the standard markup language for creating web pages. AJAX responses can include HTML content that can be dynamically inserted into a web page, allowing for interactive and dynamic user interfaces.

Handling JSON Responses

Example: Fetching and Displaying JSON Data

Let's start with a simple example where we make an AJAX request to fetch JSON data from a server and display it on a web page.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AJAX JSON Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <div id="user-info"></div>

    <script>
        $(document).ready(function() {
            $.ajax({
                url: 'https://jsonplaceholder.typicode.com/users/1',
                type: 'GET',
                dataType: 'json',
                success: function(response) {
                    var userInfo = '<h3>' + response.name + '</h3>';
                    userInfo += '<p>Email: ' + response.email + '</p>';
                    userInfo += '<p>Phone: ' + response.phone + '</p>';
                    $('#user-info').html(userInfo);
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    $('#user-info').html('<p>An error occurred: ' + textStatus + '</p>');
                }
            });
        });
    </script>
</body>
</html>

Try it now

In this example, we use the $.ajax() method to send a GET request to https://jsonplaceholder.typicode.com/users/1. The dataType is set to json, indicating that we expect a JSON response. Upon a successful response, we parse the JSON data and dynamically update the HTML content inside the div with the id user-info.

Handling XML Responses

Example: Fetching and Processing XML Data

Next, let's look at how to handle XML responses. We'll make an AJAX request to fetch XML data and process it to display on a web page.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AJAX XML Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <div id="book-info"></div>

    <script>
        $(document).ready(function() {
            $.ajax({
                url: 'books.xml', // Assume this URL returns XML data
                type: 'GET',
                dataType: 'xml',
                success: function(response) {
                    var bookInfo = '<h3>Book List</h3>';
                    $(response).find('book').each(function() {
                        var title = $(this).find('title').text();
                        var author = $(this).find('author').text();
                        bookInfo += '<p><strong>' + title + '</strong> by ' + author + '</p>';
                    });
                    $('#book-info').html(bookInfo);
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    $('#book-info').html('<p>An error occurred: ' + textStatus + '</p>');
                }
            });
        });
    </script>
</body>
</html>

In this example, we use the $.ajax() method to send a GET request to books.xml, which returns XML data. The dataType is set to xml. We use jQuery's DOM traversal and manipulation methods to process the XML data and dynamically update the HTML content inside the div with the id book-info.

Handling HTML Responses

Example: Fetching and Inserting HTML Content

Finally, let's look at how to handle HTML responses. We'll make an AJAX request to fetch HTML content and insert it into a web page.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AJAX HTML Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <button id="load-content">Load Content</button>
    <div id="content"></div>

    <script>
        $(document).ready(function() {
            $('#load-content').click(function() {
                $.ajax({
                    url: 'content.html', // Assume this URL returns HTML content
                    type: 'GET',
                    dataType: 'html',
                    success: function(response) {
                        $('#content').html(response);
                    },
                    error: function(jqXHR, textStatus, errorThrown) {
                        $('#content').html('<p>An error occurred: ' + textStatus + '</p>');
                    }
                });
            });
        });
    </script>
</body>
</html>

In this example, we use the $.ajax() method to send a GET request to content.html, which returns HTML content. The dataType is set to html. Upon a successful response, the HTML content is dynamically inserted into the div with the id content.

Combining Different Data Formats

In many cases, you might need to handle multiple data formats in a single application. Let's look at a more comprehensive example where we handle JSON, XML, and HTML responses.

Example: Combining JSON, XML, and HTML Responses

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AJAX Multi-format Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <div id="data-container"></div>
    <div id="content-container"></div>

    <script>
        $(document).ready(function() {
            // Fetch JSON data
            $.ajax({
                url: 'https://jsonplaceholder.typicode.com/users/1',
                type: 'GET',
                dataType: 'json',
                success: function(response) {
                    var userInfo = '<h3>' + response.name + '</h3>';
                    userInfo += '<p>Email: ' + response.email + '</p>';
                    userInfo += '<p>Phone: ' + response.phone + '</p>';
                    $('#data-container').append(userInfo);
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    $('#data-container').html('<p>An error occurred while fetching JSON data: ' + textStatus + '</p>');
                }
            });

            // Fetch XML data
            $.ajax({
                url: 'books.xml', // Assume this URL returns XML data
                type: 'GET',
                dataType: 'xml',
                success: function(response) {
                    var bookInfo = '<h3>Book List</h3>';
                    $(response).find('book').each(function() {
                        var title = $(this).find('title').text();
                        var author = $(this).find('author').text();
                        bookInfo += '<p><strong>' + title + '</strong> by ' + author + '</p>';
                    });
                    $('#data-container').append(bookInfo);
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    $('#data-container').html('<p>An error occurred while fetching XML data: ' + textStatus + '</p>');
                }
            });

            // Fetch HTML content
            $.ajax({
                url: 'content.html', // Assume this URL returns HTML content
                type: 'GET',
                dataType: 'html',
                success: function(response) {
                    $('#content-container').html(response);
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    $('#content-container').html('<p>An error occurred while fetching HTML content: ' + textStatus + '</p>');
                }
            });
        });
    </script>
</body>
</html>

In this comprehensive example, we handle three different AJAX requests:

  1. JSON Data: We fetch user information from https://jsonplaceholder.typicode.com/users/1 and display it inside the div with the id data-container.
  2. XML Data: We fetch book information from books.xml and append it to the same div with the id data-container.
  3. HTML Content: We fetch HTML content from content.html and insert it into the div with the id content-container.

By combining these different data formats, you can create a rich and dynamic web application that can interact with various types of data sources.



Practice Excercise Practice now

Implementing AJAX-based Features Such As Form Submission, Content Loading, And Dynamic Updates

Implementing AJAX-based features is essential for creating dynamic and interactive web applications. AJAX (Asynchronous JavaScript and XML) allows you to send and receive data from the server asynchronously without reloading the entire page. In this guide, we'll explore how to implement AJAX-based features such as form submission, content loading, and dynamic updates using jQuery.

Introduction to AJAX-based Features

AJAX-based features enhance user experience by providing seamless interaction with web applications. They enable real-time updates, improve performance, and reduce server load. Here's an overview of the key features we'll cover:

  1. Form Submission: Submitting forms asynchronously without reloading the page.
  2. Content Loading: Loading content dynamically from the server without page refresh.
  3. Dynamic Updates: Updating parts of the web page dynamically based on user actions or server responses.

Implementing Form Submission

AJAX form submission allows users to submit forms without the need for page reloads, providing a smoother and more responsive experience. Let's look at an example of how to implement AJAX form submission using jQuery.

Example: AJAX Form Submission

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AJAX Form Submission Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <form id="myForm">
        <input type="text" id="username" name="username" placeholder="Username">
        <input type="email" id="email" name="email" placeholder="Email">
        <button type="button" id="submitBtn">Submit</button>
    </form>
    <div id="message"></div>

    <script>
        $(document).ready(function() {
            $('#submitBtn').click(function() {
                var formData = $('#myForm').serialize();
                
                $.ajax({
                    url: 'submit.php', // URL to handle form submission
                    type: 'POST',
                    data: formData,
                    success: function(response) {
                        $('#message').text(response);
                    },
                    error: function(jqXHR, textStatus, errorThrown) {
                        $('#message').text('An error occurred: ' + textStatus);
                    }
                });
            });
        });
    </script>
</body>
</html>

In this example, when the submit button is clicked, the form data is serialized using $('#myForm').serialize() and sent asynchronously to the server using AJAX. The server responds with a message, which is then displayed inside the #message div.

Implementing Content Loading

Content loading is a common AJAX feature used to fetch and display data from the server without reloading the entire page. This is often used in scenarios such as loading additional content, pagination, or fetching data for a specific section of the page.

Example: Content Loading

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AJAX Content Loading Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <button id="loadContentBtn">Load Content</button>
    <div id="content"></div>

    <script>
        $(document).ready(function() {
            $('#loadContentBtn').click(function() {
                $.ajax({
                    url: 'content.html', // URL to fetch content
                    type: 'GET',
                    dataType: 'html',
                    success: function(response) {
                        $('#content').html(response);
                    },
                    error: function(jqXHR, textStatus, errorThrown) {
                        $('#content').html('Error loading content: ' + textStatus);
                    }
                });
            });
        });
    </script>
</body>
</html>

In this example, clicking the "Load Content" button triggers an AJAX request to fetch content from the server (content.html). The retrieved HTML content is then inserted into the #content div without reloading the entire page.

Implementing Dynamic Updates

Dynamic updates involve modifying parts of the web page in response to user actions or server responses. This can include updating data, refreshing sections, or displaying notifications without reloading the entire page.

Example: Dynamic Updates

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AJAX Dynamic Updates Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <div id="counter">0</div>
    <button id="incrementBtn">Increment</button>

    <script>
        $(document).ready(function() {
            $('#incrementBtn').click(function() {
                $.ajax({
                    url: 'increment.php', // URL to handle increment
                    type: 'POST',
                    dataType: 'json',
                    success: function(response) {
                        $('#counter').text(response.counter);
                    },
                    error: function(jqXHR, textStatus, errorThrown) {
                        console.log('An error occurred: ' + textStatus);
                    }
                });
            });
        });
    </script>
</body>
</html>
In this example, clicking the "Increment" button triggers an AJAX request to increment a counter on the server (increment.php). The server responds with the updated counter value in JSON format, which is then displayed on the web page without reloading.



Practice Excercise Practice now

Previous Next
COMPANY
  • About us
  • Careers
  • Contact Us
  • In Press
  • People
  • Companies List
Products
  • Features
  • Coding Assessments
  • Psychometric Assessment
  • Aptitude Assessments
  • Tech/Functional Assessments
  • Video Assessment
  • Fluency Assessment
  • Campus
 
  • Learning
  • Campus Recruitment
  • Lateral Recruitment
  • Enterprise
  • Education
  • K 12
  • Government
OTHERS
  • Blog
  • Terms of Services
  • Privacy Policy
  • Refund Policy
  • Mart Category
Partner
  • Partner Login
  • Partner Signup

Copyright © RVR Innovations LLP 2025 | All rights reserved - Mytat.co is the venture of RVR Innovations LLP