Click here to Skip to main content
Click here to Skip to main content

How to Abort a AJAX Call Before Calling the Same Again

, 7 Apr 2013
Rate this:
Please Sign up or sign in to vote.
Aborting an fired Ajax call before firing the same again

Introduction

I want to show auto search result just below the search box. After each character write, I want to do an Ajax call and get the data from the database. In this case, if someone wrote 4 characters, then 4 Ajax calls will be fired and from all these Ajax calls, the last response will be taken as a search result. Sometimes, it may not be correct because at times, the earlier fired Ajax call can give response after the later fired Ajax call, in this case we may have inconsistent data. To solve this issue, we have to abort the previously fired Ajax calls.

The sample code given below solves the problem.

Using the Code Snippet

<input id="searchbox" name="searchbox" type="text" />
<div id="data"></div>
jQuery(document).ready(function(){
    var currentRequest = null;
    jQuery('#searchbox').keyup(function() {
        var text = jQuery(this).val();
        currentRequest = jQuery.ajax({
            type: 'POST',
            data: 'search_text=' + text,
            url: 'AJAX_URL',
            beforeSend : function()    {           
                if(currentRequest != null) {
                    currentRequest.abort();
                }
            },
            success: function(data) {
                jQuery('#data').html(data).show();
            }
        });
    });});

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

sisir patro
Software Developer
India India
Learn the base not only the requirement related things for quick fixing and make others learn the exact thing always...
Follow on   LinkedIn

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web04 | 2.8.140709.1 | Last Updated 8 Apr 2013
Article Copyright 2013 by sisir patro
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid