Maison >développement back-end >tutoriel php >Exemples détaillés de fonctionnalités Ajax et de problèmes de code tronqué

Exemples détaillés de fonctionnalités Ajax et de problèmes de code tronqué

小云云
小云云original
2017-12-26 10:24:281037parcourir

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 vous 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. J'espère que cela pourra vous aider.

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 universel se rencontre. acquisition ajax Tout le monde devrait se demander pourquoi les données d'arrière-plan sont tronquées.
-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 natif ajax ? 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;
}

Recommandations associées :

Exemple de méthode d'écriture manuscrite Ajax pour implémenter l'actualisation asynchrone

Exemple d'analyse de la technologie de requête asynchrone Ajax

À propos de la méthode de mise en œuvre de l'effet d'attente de chargement avant qu'Ajax ne renvoie les données

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