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

Comment utiliser for loop var et laisser entrer jQuery

php中世界最好的语言
Libérer: 2018-06-02 14:12:16
original
1565 Les gens l'ont consulté

Cette fois, je vais vous montrer comment utiliser la variable de boucle for et let dans jQuery, et quelles sont les précautions à prendre pour utiliser la variable de boucle for et let dans jQuery. Ce qui suit est un cas pratique, jetons un coup d'œil.

Lors de l'envoi d'une requête via AJAX, une autre requête AJAX a été imbriquée. Il a été constaté que la variable de boucle i lors du premier succès n'a pas pu être obtenue dans le succès de la requête interne.

$.ajax({
    type: "get",
    url: "//////////////////////////",
    success: function (result) {
      rs = JSON.parse(result).data;
      for (var i = 0; i < rs.length; i++) { //用var定义有问题
        var pos_ = ""
        $.ajax({
          type: &#39;GET&#39;,
          async: false,
          dataType: &#39;jsonp&#39;,
          contentType: &#39;application/json; charset=utf-8&#39;,
          url: "///////////////////////////////////",
          success: function (result) {
            console.log(rs[i]) //报错
          }
        })
      }
    }
  })
Copier après la connexion


Dans la fonction de rappel après la deuxième requête ajax, rs[i] signalera une erreur.

  Solution :

Changer la variable var que j'ai déclarée dans la boucle for pour laisser i

Raison spécifique :

Il est dans la boucle for après la première fonction de rappel. Si vous envoyez à nouveau une requête, la boucle for ne s'arrêtera pas, même si vous écrivez une requête synchrone.

Mais si vous utilisez let après avoir déclaré la variable de boucle for, le code ne démarrera pas la boucle suivante tant que votre requête n'est pas terminée et que la fonction de rappel n'est pas exécutée.

Cela prend en compte un problème de fermeture, si vous écrivez des déclarations var et let dans des portées différentes.

Soit i sera passé en tant que variable locale

var i sera passé en tant que variable globale

Si vous souhaitez passer la variable i à la couche suivante, utilisez laissez déclarer.

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 prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Comment utiliser le plug-in d'affichage d'images highslide.js dans jQuery

Comment utiliser Instructions personnalisées Angularjs

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