Maison  >  Article  >  interface Web  >  Décomposer les différences entre async:false et async:true dans les requêtes Ajax

Décomposer les différences entre async:false et async:true dans les requêtes Ajax

亚连
亚连original
2018-05-22 17:23:251710parcourir

Je vais maintenant vous proposer un article détaillant les différences entre async:false et async:true dans les requêtes Ajax. Permettez-moi de le partager avec vous maintenant et de le donner comme référence pour tout le monde.

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);
  }

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");

  }

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 après l'exécution de userL_checkPhone.do, 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";

Ce qui précède est ce que j'ai compilé pour tout le monde, j'espère que cela sera utile à tout le monde à l'avenir.

Articles connexes :

Interaction des données Ajax et MySQL pour créer une fonction de forum de messages

Synchronisation Ajax et problèmes et solutions asynchrones

Réponse Ajax aux exemples de chaînes json et de tableaux json (tutoriel graphique)

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!

Déclaration:
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