Globally configure all $.ajax requests to support retry on timeout

I need a way to set some kind of timeout function globally with $.ajaxSetup that will allow my Phonegap application to keep retrying an ajax GET or POST every time there is a timeout due to a bad internet connection.

I use Backbone.js so most jquery plugins won't work for this, I would some help writing one global piece of code which will handle retries.

Thank you.



You can use jQuery.ajaxSetup(options).

Set default values for future Ajax requests. Its use is not recommended.


  timeout: TimeoutValue

Apart from that if you want perform call again on timeout, I will suggest you to create wrapper for ajax call like.

function myAjax(options){
    var myOptions = {
        timeout: TimeoutValue,
        error: function( jqXHR, textStatus, errorThrown) {
            //textStatus can one of these "timeout", "error", "abort", and "parsererror"
            if(textStatus === "timeout") {
                //Recall method once again

    options = $.extend(true, myOptions , options);

And Use the function just like $.ajax


Found a solution to make all AJAX calls work with a retry timeout.

$(document).ajaxError(function (e, xhr, options) {
    if(xhr.status == 0){
            console.log('timeout, retry');
        }, 5000);


Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.