283 votes

Ce n' "async: false," faire en jQuery.ajax()?

Plus précisément, comment est-il différent de la valeur par défaut ( async: true ) ?

Dans quelles circonstances je veux ensemble explicite async de false, et a-t-elle quelque chose à voir avec la prévention d'autres événements sur la page de la cuisson ?

318voto

Sean Vieira Points 47080

A-t-elle quelque chose à voir avec prévenir d'autres événements sur la page à partir de tir?

Oui.

Réglage async false signifie que la déclaration que vous appelez a à effectuer avant de l'instruction suivante dans votre fonction peut être appelée. Si vous définissez async: true", alors que la déclaration de commencer l'exécution et l'instruction suivante sera appelée, peu importe si l'async déclaration a encore terminée.

Pour plus d'informations, voir: http://stackoverflow.com/questions/1457690/jquery-ajax-success-anonymous-function-scope

28voto

Mohit Points 1

Async Faux tiendra à l'exécution du reste du code, une fois que nous obtenons la réponse de l'ajax alors seulement reste code s'exécute

19voto

John Millikin Points 86775

Si vous désactivez asynchrone de récupération, votre script sera bloqué jusqu'à ce que la demande a été remplie. Il est utile pour effectuer une certaine séquence de requêtes dans un ordre connu, bien que je trouve async rappels à être plus propre.

11voto

Tony Points 1

Un cas d'utilisation est de prendre une ajax appel avant que l'utilisateur ferme la fenêtre ou quitte la page. Ce serait comme supprimer des enregistrements dans la base de données avant que l'utilisateur peut accéder à un autre site ou ferme le navigateur.

 $(window).unload(
        function(){
            $.ajax({
            url: 'your url',
            global: false,
            type: 'POST',
            data: {},
            async: false, //blocks window close
            success: function() {}
        });
    });

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X