我正在使用CodeIgniter构建一个Web应用程序。
网站上的帖子可以被用户所喜爱。我已经开发了可以吸引爱的总数的模型,但是我想在添加新的爱时使用AJAX进行更新。
使用以下代码显示总爱数:
<p><a href="#" id="lovecounter"><?php if ($post->love) { echo $post->love; } else { echo 0; } ?></a></p>
保存love数据的数据库表称为“post_rating”,结构如下:
“评级”栏在默认情况下为0,对于爱情为1。
我从哪里开始?
说实话,在谈到Javascript和AJAX时,我总是一个菜鸟。我完全不知道从哪里开始,所以任何方向或想法都会非常感激!
感谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
在服务器上创建一个php页面,该页面接受按下“love”按钮触发的请求。在这个php页面中,您可以递增计数器并更新存储它的DB。然后,当呈现页面时,它们可以从DB加载此新计数。使用像MVC这样的设计模式使得这非常简单,因为您的所有请求都可以路由到正确的内容。我在www.phpblueprint.com上使用这种方法从运行PHPBlueprint的服务器动态加载每个滑动页面。
在客户端,只需让“love”按钮使用XMLHttpRequest触发ajax事件,或者只使用jQuery库Ajax API(非常非常简单和强大)。
<强>更新强>
抱歉,只是看到你正在使用CodeIgniter,这是一个很棒的MVC框架。 This will help you with what you want to do.
答案 2 :(得分:0)
首先,我认为“评级”栏目不是很有用,你只需要计算帖子通过“post_id”搜索的行数,你就会得到“爱”的数量或者“喜欢”的人投了票。
然后,关于javascript和ajax,我还建议使用JQUERY,它很容易使用AND现在Codeigniter附带了一个jquery库jquery http://codeigniter.com/user_guide/libraries/javascript.html
在你的情况下,在我的网站中,我们使用过这种方法:通过post或uri或你想要的方式调用所有数据的控制器函数,并回答json的回声:
<!-- language: lang-php -->
$this->output->set_content_type('application/json')
->set_output(json_encode(
array('love' =>($this->loves_model->love_inserted() == TRUE)?'true':'false')
);
然后你只需要通过jquery获取数据并用它来改变DOM。