繁体   English   中英

Ajax对php的请求每个页面加载一次

[英]Ajax request to php only works once per pageload

我已经在这里看到了其中一些问题,但没有一个对我有用。 我有一个收藏夹按钮,我希望我的用户按此按钮可以收藏夹东西。 Ajax请求工作正常,并且收藏夹被存储在数据库中,但是我只能使用一次,然后必须刷新页面才能收藏/取消收藏该项目。 该按钮的代码是:

<div id="fav-icon">
    <?php
    // Function checks if user has fav'd the item.
    $isFav = favourite($user->id) ? 'un-fav' : 'fav'; 
    ?>
    <i id="<?php echo $item->id; ?>" class="<?php echo $isFav; ?>"><span class="font-12 fa fa-heart"></span></i>
</div>

jQuery /阿贾克斯

$('.fav').click(function(e){
    var con = $(this).attr('id');
    $.ajax({
      url: 'fav.php',
      type: 'POST',
      async: true,
      data:{
        'fav' : con
      },
      success:function(){ 
        $('#fav-icon').load(document.URL +  ' #fav-icon');
      }
    });
  });

  $('.un-fav').click(function(e){
    var con = $(this).attr('id');
    $.ajax({
      url: 'fav.php',
      type: 'POST',
      async: true,
      data:{
        'fav' : con
      },
      success:function(){ 
        $('#fav-icon').load(document.URL +  ' #fav-icon');
      }
    });
  });

所以这有效,但只有一次! 我尝试了几种不同的功能来尝试完成这项工作,包括:

$('.fav').live('click', function(e) {

谁能告诉我我要去哪里错以及使按钮多次起作用的正确方法?

使用$(document).on()单击事件

$(document).on('click','.fav', function(e) { 
...
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM