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