recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - L'ajax que j'ai écrit n'a aucun effet, s'il vous plaît, les gars, découvrez quel est le problème...

Mon objectif est que la valeur de l'attribut href de la balise a d'origine soit fausse.
Je souhaite que l'utilisateur modifie la valeur de l'attribut href après avoir cliqué sur la balise a et mène à un lien. /XXX.XXX .html/?key='valeur de nom dans les données'&tit='valeur de titre dans les données'.
Les données transmises depuis l'arrière-plan sont un tableau [{"name": "haha", "title": "123"}, {"name": "haha", "title": "4567"} ], c'est les données,
puis utilisez ajax pour transmettre les données en arrière-plan, combinez les valeurs correspondantes sous la forme d'un lien, et transmettez-les à la valeur href de la balise a,
afin que l'utilisateur puisse accéder à chaque page en cliquant. La page correspondant à la balise a.

PS : je suis un débutant et je ne le comprends pas très bien. Le code que j'ai écrit est très problématique, mais je ne sais pas quoi faire, aidez-moi ! Agenouillez-vous et merci !

Voici la partie code :

<p class="xixi">

<a href="haha/form.html">1</a>
<a href="haha/form.html">2</a>
<a href="haha/form.html">3</a>
<a href="haha/form.html">4</a>
<a href="haha/form.html">5</a>

</p>

<script>

$.ajax({
    type:"get",
    url:"aaa.json",
    success:function(data){
        $(".xixi a").on('click','a',function(data){
           for(var i = 0;i < data.length;i++){
               for(var j = 0;j < data.length[i];j++){
                   var zName = data[i][j].name;
                   var zTitle = data[i][j].title;
                   $(this).attr('href','haha/form.html?key="+zName+"&tit="+zTitle"');
               }
           }
        });
    }
})

</script>

De plus, j'ai une autre question pour vous, je ne vois pas ajax dans le navigateur Chrome.

Mais lorsque je l'ai vérifié dans Firefox, aucune erreur n'a été signalée. Puis-je utiliser Firefox pour voir si ajax a un effet à l'avenir ?

迷茫迷茫2745 Il y a quelques jours552

répondre à tous(6)je répondrai

  • 仅有的幸福

    仅有的幸福2017-05-27 17:44:32

    $.ajax({
        type: 'get',
        url: 'aaa.json',
        success: function(data){
            // 遍历数据或者遍历 jQuery 对象
            $('.xixi > a').each(function(i,link){
                // 不明白你为什么要使用两次 for 循环查找数据;
                // 你的数组是一个二维数组,可以使用 data[0].name 这种格式访问;
                var name = data[i].name,
                    title = data[i].title;
                    
                // 绑定事件
                $(link).off()
                .on('click', function(e){
                    // 我建议你尽量使用单引号(除非有特殊规定),这是个好习惯!
                    $(this).attr('href','haha/form.html?key='+ name +'&title='+ title);
                });
                
            });
        }
    })

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-27 17:44:32

    $(this).attr("href","haha/form.html?key="+zName+"&tit="+zTitle);

    J'ai l'impression d'avoir écrit la mauvaise adresse. Veuillez voir si cela fonctionne.

    répondre
    0
  • 迷茫

    迷茫2017-05-27 17:44:32

    Tout d'abord, de quel type de tableau s'agit-il [{"name":"haha","title":"123"},{"name":"Haha","title"}:"4567"], qu'est-ce que c'est quoi cette partie ? "titre"} : "4567"

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-27 17:44:32

    Je ne comprends vraiment pas très bien ce que signifiait l'affiche~ J'ai juste fait une hypothèse approximative : le lien vers la balise a est obtenu via ajax, pas depuis le début~ Aussi quand j'ai vu le symbole $ , j'ai deviné que l'affiche utilisait jquery. L'implémentation spécifique de mon code ci-dessous devrait être réalisable~$符号,我就猜楼主用的jquery。具体的实现我下面的代码应该可以实现的~

    页面加载后直接执行ajax,获得链接后修改所有a标签的链接。(楼主处理ajax结果这段,for循环,我看的不是很懂哦~)

    <!doctype html>
    <html>
    <meta charset="utf-8">
    <script src="./jquery-3.2.1.min.js"></script>
    
    <body>
      <p class="xixi">
    
        <a href="#">1</a>
        <a href="#">2</a>
        <a href="#">3</a>
        <a href="#">4</a>
        <a href="#">5</a>
      </p>
    </body>
    
    <script>
      $(document).ready(function() {
        /*页面载入时候执行ajax*/
        $.ajax({
          type: "get",
          url: "aaa.json",
          success: function(data) {
            /*ajax成功或,改变所有的a标签的href*/
            for (var i = 0; i < data.length; i++) {
              for (var j = 0; j < data.length[i]; j++) {
                var zName = data[i][j].name;
                var zTitle = data[i][j].title;
                $(". xixi a").eq((i + 1) * (j + 1)).attr('href', 'haha/form.html?key="+zName+"&tit="+zTitle"');
              }
            }
          }
        })
      });
    
    </script>
    
    </html>

    另外,chrome在哪里可以看ajax  F12打开开发者模式,然后选network
    Une fois la page chargée, exécutez directement ajax. Après avoir obtenu le lien, modifiez les liens de toutes les balises a. (L'auteur gère la section de résultats ajax, la boucle for, je ne la comprends pas très bien~) rrreee De plus, où puis-je regarder ajax dans Chrome ? F12 Ouvrez le mode développeur, puis sélectionnez réseau

    🎜🎜🎜

    répondre
    0
  • 阿神

    阿神2017-05-27 17:44:32

    Le problème de l'épissage des chaînes derrière href n'est pas un problème ajax

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-27 17:44:32

    [{"name":"Hehe","title":"123"},{"name":"Haha","title":"4567"}]
    Il s'agit d'un tableau unidimensionnel, parcourez les objets dedans, une seule boucle est nécessaire pour organiser le nom et le titre

    répondre
    0
  • Annulerrépondre