jQuery ajax方法出现错误,页面被刷新

3
    $('.cn').click(function() {
        var pic_id = $(this).attr('href');
         console.log(pic_id);
        //alert(pic_id);

     $.ajax({
            type: "POST",
            url: "<?php echo base_url();?>anda/coins",
            async: false,
            data: "pic_id="+pic_id,
            dataType: 'json',
            success: function(data){
                //alert(data);
                $('.cn_point').html(data.id);
            }
          });

        });

我收到回调值并显示在 上,但页面会刷新,而 的值会被隐藏。有人可以帮我吗?我找不到我的错误。

1
$.ajax 函数后面加上 return false; - asprin
2个回答

5
尝试使用preventDefault
$('.cn').click(function (e) {
    e.preventDefault();
    var pic_id = $(this).attr('href');
    console.log(pic_id);
    //alert(pic_id);

    $.ajax({
        type : "POST",
        url : "<?php echo base_url();?>anda/coins",
        async : false,
        data : "pic_id=" + pic_id,
        dataType : 'json',
        success : function (data) {
            //alert(data);
            $('.cn_point').html(data.id);
        }
    });

});

@DebendraSamal 请点击旁边的勾号以接受此答案。 - Daedalus

0

这是因为您点击了链接,它会刷新您的页面。

$('.cn').click(function() {

   e.preventDefault();
    var pic_id = $(this).attr('href');
     console.log(pic_id);
    //alert(pic_id);

     $.ajax({
        type: "POST",
        url: "<?php echo base_url();?>anda/coins",
        async: false,
        data: "pic_id="+pic_id,
        dataType: 'json',
        success: function(data){
            //alert(data);
            $('.cn_point').html(data.id);
        }
      });

    });

这不是问题,这也解决不了页面刷新的问题。 - asprin
你只是复制了我之前发布的内容!XD - darshanags
我没有抄袭你的答案。我检查了我的答案,发现我的错误是因为我没有读到他问题的最后一部分。你没有告诉他为什么会出现这种行为。我只是解释了为什么会刷新他的页面。所以你可以从中猜测我没有复制你的代码,而是修改了他的代码。 - Muhammad Nasir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接