javascript - Der Ajax, den ich geschrieben habe, hat keine Wirkung. Bitte Leute, findet bitte heraus, wo das Problem liegt ...
迷茫
迷茫 2017-05-27 17:42:32
0
6
550

Mein Ziel ist es, dass der Wert des href-Attributs des ursprünglichen a-Tags falsch ist.
Ich möchte, dass der Benutzer den Wert des href-Attributs ändert, nachdem er auf den a-Tag geklickt hat.
Dieser Link ist http:/. /XXX.XXX .html/?key='Name Wert in Daten'&tit='Titel Wert in Daten'.
Die vom Hintergrund übergebenen Daten sind ein Array [{"name": "haha", "title": "123"}, {"name": "haha", "title": "4567"} ], das ist die Daten,
dann verwenden Sie Ajax, um die Daten im Hintergrund zu übertragen, kombinieren Sie die entsprechenden Werte in Form eines Links und übergeben Sie sie an den href-Wert des a-Tags,
damit der Benutzer zu jeder Seite springen kann beim Klicken auf die Seite, die dem a-Tag entspricht.

PS: Ich bin ein Neuling und verstehe den Code, den ich geschrieben habe, sehr problematisch, aber ich weiß nicht, was ich tun soll. Knie nieder und danke!

Das Folgende ist der Codeteil:

<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>

Außerdem habe ich noch eine Frage an euch: Ich kann Ajax im Chrome-Browser nicht sehen.

Aber als ich es in Firefox überprüft habe, wurde kein Fehler gemeldet. Kann ich Firefox verwenden, um zu sehen, ob Ajax in Zukunft Auswirkungen hat?

迷茫
迷茫

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

Antworte allen(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);

感觉是地址写错了,你看看这样行不行。

迷茫

首先 这是个什么 数组 [{"name":"呵呵","title":"123"},{"name":"哈哈","title"}:"4567"] ,这部分是个什么鬼 ,"title"}:"4567"

巴扎黑

着实不是很明白楼主的意思~我就大概猜下:a标签的链接是通过ajax获得的,不是一开始就有的~另外 看到$符号,我就猜楼主用的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

阿神

href后边的字符串拼接的问题,不是ajax的问题哦

淡淡烟草味

[{"name":"呵呵","title":"123"},{"name":"哈哈","title":"4567"}]
这是一个一维array,遍历里面的object,只需要一次循环就可以来组织name和title了

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage