Le nom complet d'ajax est javascript asynchrone et XML, qui est js et XML asynchrones. Il s’agit d’une opération asynchrone de rafraîchissement partiel. Cet article présente les caractéristiques d'ajax et le problème des caractères tronqués. Les amis intéressés devraient y jeter un œil ensemble
Le nom complet d'ajax est javascript asynchrone et XML, qui est js et XML asynchrone. Il s’agit d’une opération asynchrone de rafraîchissement partiel.
Tout le monde sait qu'ajax est mono-thread et synchrone en soi, mais la plupart des gens ne savent pas pourquoi un mono-thread peut être asynchrone. Expliquons-le par Zhang Yanni (pas très officiel, mais facile. pour comprendre) :
Avant d'expliquer, laissez-moi vous parler de la structure de données linéaire. Nous pouvons considérer une structure de données linéaire unique comme un segment de ligne. Tout le monde le sait. qu'un seul fil est un segment de ligne. Il n'y a pas de zone avant dans la tête ni de zone arrière dans la queue. Chaque élément au milieu a deux éléments avant et après. Lorsqu'un élément est manquant, deux éléments le sauront et le diront. vous en même temps. Et cela ne fonctionne même pas sans un seul élément.
La fonction de rappel transmet la fonction A comme paramètre à la fonction B, et la fonction B exécute la fonction A. Les utilisations les plus courantes des fonctions de rappel sont les fonctions success() et error() que nous utilisons lors de la demande de données via ajax, ainsi que le premier paramètre de setInterval, qui utilise également des fonctions de rappel. Fonction de rappel, fonction de rappel, le sens littéral du rappel est de faire demi-tour et de revenir sur cette route. Ainsi, ajax se retourne et marche à nouveau lorsque la fonction de rappel success() ou une erreur est déclenchée, puis elle est asynchrone. En même temps, ajax est asynchrone, il y a une promesse es6 (opération synchrone asynchrone).
Le processus du navigateur est multi-processus. Quant à savoir pourquoi c'est la même chose que pourquoi vous l'appelez XXX~
La deuxième question est de savoir quand le front-end tout-puissant rencontre ajax pour obtenir données de base Tout le monde devrait ne pas savoir ce qu'est le code tronqué.
-C'est peut-être un problème de vitesse Internet, Internet est trop lent.
-Peut-être que le format d'encodage n'est pas uniforme, vos frères backend vous ont trompé, hahahaha
Vous souvenez-vous du code natif ajax ? Pourquoi est-ce que je ne vous explique pas et ne regarde pas le code ? code :
//1.创建xmlhttpRequest对象 var xhr; try{ xhr = new XMLHttpRequest(); console.log(5555) } catch(e){ //ie浏览器低版本兼容 xhr = new ActiveXobject("Microsoft.XMLHTTP"); } finally{ console.log(1111) } // try{} catch{} finally{}在这里是处理异常的方法,用if{}else{}也ok //if(window.XMLHttpRequest){ // xhr = new XMLHttpRequest(); // }else{ //ie浏览器低版本的兼容 // xhr = new ActiveXobject("Microsoft.XMLHTTP") //} //2.建立异步连接 xhr.open("get","url/+string",true/false);//true是异步,false是同步 //xhr.open("post","url",true/false) //3.发送异步请求 xhr.send(null);//get xhr.send(string);//post //4.获取返回数据 xhr.onreadystatechange = function (){ if((xhr.readystate)==4&&(xhr.status==200)){ var data = xhr.responseText; var data = JSON.parse(data); show(data); } } function show(data){ document.getElementById("p1").innerHTML = data; }
J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.
Articles connexes :
Un résumé des avantages et des inconvénients d'Ajax
Explication détaillée des étapes pour utiliser Ajax
Explication détaillée de l'interaction entre Ajax() et l'arrière-plan
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!