[英]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.