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

Exemple détaillé d'attribut ajax asynchrone dans jQuery

黄舟
Libérer: 2017-12-04 16:48:25
original
2148 Les gens l'ont consulté

Dans notre travail de développement quotidien, ajax est quelque chose que nous devons tous apprendre. Ainsi, dans l'ajax de jquery, si nous voulons obtenir une synchronisation ou un caractère asynchrone, nous pouvons directement définir l'occurrence asynchrone sur true ou false. . Cela peut être vrai ou faux. Aujourd'hui, nous allons vous présenter l'exemple de ajaxattributeasync dans jQuery !

Exemple 1, jquery+ajax/" target="_blank">méthode de synchronisation jquery ajax

Le code est le suivant :

$.ajax({
url : 'test.php',
type : 'post',
async: false,//使用同步的方式,true为异步方式
data : {'act':'addvideo', 'videoname':videoname},//这里使用json对象
success : function(data){
//code here...
},
fail:function(){
//code here...
}
});
Copier après la connexion

Exemple 2

Le code est le suivant :

//javascript
function test()
{
 var a= 1;
 $.ajax({
  type   : 'GET',
  url    : 'test.php',
  data   : 'page=112',
  success:function(msg)
  {
   alert(msg);
   a= msg;
  }
 })
 alert(a);
}
//test.php
sleef('5'); //休息五分钟
echo 'in';
/*
 这个程序运行情况是  先打印1(a=1) 然后五秒过后 打印 in
 根据这个情况就可以知道 jquery 的ajax的执行流程 
 因为是异步调用
 以前就是这样给一个变量赋值  不管怎么弄都是不对的。最后就发现这个问题
 参数async改为false就为同步调用 当ajax返回结果后程序才继续执行
*/
Copier après la connexion

Ici, la valeur par défaut de async est vraie. Cette situation est asynchrone, ce qui signifie qu'après l'envoi de la requête par ajax, il attend le retour du serveur. Pendant ce processus, la réception continuera à exécuter le script derrière le bloc ajax. Le succès ne sera pas exécuté tant que le serveur n'aura pas renvoyé le résultat correct. .Un thread après le bloc ajax envoie la requête et le bloc ajax L'exemple de script suivant (un autre fil) :
Exemple 3

Le code est le suivant :

$.ajax({  
          type:"POST", 
         url:"Venue.aspx?act=init", 
           dataType:"html", 
          success:function(result){   //function1()
             f1(); 
             f2(); 
        } 
         failure:function (result) {  
            alert('Failed');  
         }, 
  } 
  function2();
Copier après la connexion

Dans l'exemple ci-dessus, lorsque le bloc ajax fera une requête, il restera dans function1() et attendra le retour du serveur, mais en même temps (pendant ce processus d'attente), le premier plan exécutera function2() , c'est-à-dire que deux threads apparaîtront à ce moment-là, appelons-les ici function1() et function2 ()
Lorsque asyn est défini sur false, la requête ajax est synchrone. Le bloc ajax envoie la requête, il attendra à function1() et n'exécutera pas function2 (), jusqu'à ce que la partie function1() soit exécutée. Pendant AJAX, tout le code de la page cessera de se charger et la page cessera de fonctionner. état suspendu.Une fois l'AJAX exécuté, d'autres codes continueront à s'exécuter et l'état suspendu sera libéré de manière asynchrone, d'autres codes peuvent s'exécuter pendant que le code AJAX est en cours d'exécution.

Recommandations associées :

utilisation asynchrone et différée dans les balises de script

Explication détaillée de la solution de synchronisation/asynchrone async+await d'ES6

Async en javascript Explication détaillée de l'utilisation

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!