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...
迷茫
迷茫 2017-05-27 17:42:32
0
6
556

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 ?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(6)
仅有的幸福
$.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);
            });
            
        });
    }
})
phpcn_u1582

$(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.

迷茫

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"

巴扎黑

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

🎜🎜🎜
阿神

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

淡淡烟草味

[{"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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal