Maison > interface Web > js tutoriel > le corps du texte

Quelle est la différence entre async:false et async:true dans les requêtes Ajax ?

php中世界最好的语言
Libérer: 2018-04-02 15:20:36
original
1779 Les gens l'ont consulté

Cette fois, je vais vous présenter la différence entre async:false et async:true dans les requêtes Ajax. Quelles sont les précautions pour utiliser async:false et async:true dans les requêtes Ajax ? cas pratique, jetons un coup d'oeil.

L'exemple est le suivant :

function test(){
  var temp="00";
  $.ajax({
    async: false,
    type : "GET",
    url : 'userL_checkPhone.do',
    complete: function(msg){
      alert('complete');
    },
    success : function(data) {
      alert('success');
      temp=data;
      temp="aa";
    }
  });
  alert(temp);
  }
Copier après la connexion

méthode checkPhone() dans UserLAction

  public void checkPhone() throws IOException {
    this.getServletResponse().setContentType("text/html; charset=UTF-8");
    this.getServletResponse().setHeader("Cache-Control", "no-cache");
    PrintWriter out = this.getServletResponse().getWriter();
    out.print("true");
  }
Copier après la connexion

async: false, (la valeur par défaut est true);

Lorsque async: false est synchrone, la requête Ajax dans la méthode test() verrouillera l'intégralité du navigateur,

Seulement une fois l'exécution de userL_checkPhone.do terminée, d'autres opérations peuvent être effectuées.

Le résultat de l'exécution est donc alert('success'); alert('complete'); alert("aa");

Quand async: true, la requête ajax est asynchrone. Mais il y a un problème : la requête ajax dans test() et les opérations suivantes sont exécutées de manière asynchrone, donc lorsque userL_checkPhone.do n'a pas été exécuté, les opérations suivant la requête ajax ont peut-être été exécutées,

Donc le le résultat est alert('success'); alert('complete'); alert("00");

De cette façon, vous constaterez que alert("success") et alert(temp) sont exécutés presque simultanément, donc temp est la valeur initialisée temp = "00", pas temp="aa";

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez payer. attention aux autres articles connexes sur le site PHP chinois !

Lecture recommandée :

Ajax+mysql pour créer une fonction de babillard électronique

Étapes Ajax pour implémenter une requête de pagination de données détaillée explication

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal