Skip to content Skip to sidebar Skip to footer

Ajax Async False Is Deprecated?

I am using jQuery 1.7 and I use async:false for my AJAX requets, but I've learned that this function is deprecated. I need to use callback but this doesn't work: $('#form').submit(

Solution 1:

From the documentation:

As of jQuery 1.8, the use of async: false with jqXHR ($.Deferred) is deprecated

You are not using it with jqXHR.

That said, non-async HTTP is horrible with JavaScript and best avoided. Do your work in or from the callback. Don't try to return data to the calling function so it can do the work.

Solution 2:

Continuing from the comments: You seem to be a little obsessed with callbacks, when you don't seem to need any! :)

The simple change to your existing code is to throw away cnf and simply put your code in the success part of the ajax call:

$("#form").submit(function (e) {
    $.ajax({
        type: "POST",
        url: 'page.php',
        data: $('#form').serialize(),
        async: true,
        success: function (responseText) {
            if (responseText.indexOf('err') != -1) {
                // Do something when it fails here
            } else {
                // Do something when it succeeds here!!!!alert('ok');
                // e.g. move on to "step 2"
            }
        },
        error: function () {
           // Do something when it fails here
        }
    });
});

Post a Comment for "Ajax Async False Is Deprecated?"