我正在使用CodeIgniter并尝试实现jQuery / AJAX来触发我的网站上的操作而不刷新页面。简单地说就像Facebook帖子和之类的按钮。
到目前为止,我设法整理了一个小脚本来完成工作,除了每三次点击重新加载页面。
我将操作按钮括在div
中,其ID为'post_'
+帖子的数据库id
。
然后我为点击的链接添加了一个值属性,该链接包含帖子ID,类就像。
<div>
<h3>User Name</h3>
<p>Post Content</p>
<div id="post_3">
<a href="#" class="like" value="3">Like</a>
<div>
</div>
$(".like").click(function(event){
var post = $(this).attr("value");
var mydv = "#post_"+post;
$.ajax({
type: "POST",
url: 'localhost/like/'+post,
success: function(response) {
if (response == "Success")
{
$(mydv).load("localhost/newsfeed"+mydv);
}
else
{
alert("Error");
}
}
});
event.preventDefault();
});
当页面在第三次点击时重新加载时,它只是一个简单的重新加载没有反馈或过程被触发。
我一定是做错了什么,我只是不知道是什么。
答案 0 :(得分:2)
答案 1 :(得分:0)
event.preventDefault();
代码。document.ready
。答案 2 :(得分:0)
尝试使用return false
(而不是event.preventDefault();
):
$(".like").click(function(){
...
return false;
});
或者@Dipesh Parmar提到event.preventDefault();
应位于处理程序的顶部。