javascript - 写的ajax没效果,求各位老哥看看问题所在...
迷茫
迷茫 2017-05-27 17:42:32
[PHP讨论组]

我的目的是,原本的a标签,href属性的值是假的,
想让用户在点击a标签后,改变href属性的值,导向一个连接,
这个链接是http://XXX.XXX.html/?key='data中name值'&tit='data中title值'这种形式。
而这个data后台传过来的数据,
里边是个数组[{"name":"呵呵","title":"123"},{"name":"哈哈","title":"4567"}],就是这样的数据,
然后要用ajax在后台传来数据的时候,将对应的值组合成链接的形式,传给a标签的href值,
使用户在点击的时候,跳转到每个a标签对应的页面。

PS:我是个新手,不是很懂,写的代码很有问题,可是我不知道该怎么办,求大佬们帮忙啊!跪谢了!

下面是代码部分:

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

另外,还有个问题要问各位老哥,我在chrome浏览器那里看ajax,老是看不了。
但是我在firefox里边看,却没有报错,是不是以后都可以用firefox看ajax有没有效果?

迷茫
迷茫

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

全部回复(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了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号