繁体   English   中英

Ajax链接运行codeigniter控制器,然后更新html

[英]Ajax link to run codeigniter controller then update html

对最简单的问题表示抱歉,但我似乎无法解决任何问题。 这是我第一次真正使用AJAX。

我正在用Codeigniter开发,单击链接后将运行控制器:照片功能:点赞并允许登录的用户喜欢照片,然后将用户重定向回照片,并显示稍有不同的按钮版本用户喜欢照片。

<a href="<?php echo site_url('photo/like'); ?>/<?php echo $photos['id'];?>" class="uk-button <?php if ( $liked == '1' ) : ?>uk-icon-heart uk-button-danger<?php else: ?>uk-icon-heart<?php endif; ?>" data-uk-tooltip title="<?php if ($liked == '1'):?>Likes<?php else:?>Like<?php endif; ?>"> <?php if ( $like_count > '0' ) { echo $like_count; } ?></a>

它可以正常工作,但我认为用ajax函数替换它会很酷,因此它更流畅,而不是离开页面然后再次返回。

任何帮助将不胜感激。

$(".uk-button").click(function(e) {
  e.preventDefault();
  //Here you can add your ajax
    $.ajax({
     url: site_url + 'photo/like',
     data: { 
      liked : 1
     },
     type: 'POST',
     dataType: 'json',
     async : false,
     success: function(success_record) {
       console.log(success_record,":success_record");
       //You might receive your like count from PHP here
     }
    });
});

在成功记录中,您将获得PHP记录值。 基于此,您可以在成功函数中增加或减少计数

您可以执行以下操作:

$(document).ready(function()
{
    $('.likeLink').on('click', funciton()
    {
        var obj = $(this);
        var id = obj.attr('id'); //anything you want to pass to update your like somewhere

        $.ajax(
        {
            type: 'POST',
            url: 'YourFilePathWhereYouWillDoTheLike',
            data:
            {
                id: id,
            },
            cache: false,
            success: function(response)
            {
                obj.html("You have liked this!");
            }
        });

        return false;
    })
})

暂无
暂无

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

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