javascript/jquery不';我不能在ajax中工作
我有一个php页面“Home.php”,显示用户的帖子(使用ajax)。 以下是我获得帖子的方式:javascript/jquery不';我不能在ajax中工作,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个php页面“Home.php”,显示用户的帖子(使用ajax)。 以下是我获得帖子的方式: <script type="text/javascript"> function loadmore() { var val = document.getElementById("result_no").value; var userval = document.getElementById("user_id").value;
<script type="text/javascript">
function loadmore()
{
var val = document.getElementById("result_no").value;
var userval = document.getElementById("user_id").value;
$.ajax({
type: 'post',
url: 'fetch.php',
data: {
getresult:val,
getuserid:userval
},
success: function (response) {
var content = document.getElementById("result_para");
content.innerHTML = content.innerHTML+response;
// We increase the value by 2 because we limit the results by 2
document.getElementById("result_no").value = Number(val)+10;
}
});
}
</script>
<div id="content">
<div id="result_para">
</div>
</div>
编辑fetchlikes.php:
<?php
mysql_connect('localhost','root','');
mysql_select_db('blabla');
$postid=$_POST['getpostid'];
mysql_query("UPDATE user_post SET likes_count=likes_count+1 WHERE post_id='$postid'");
?>
因为您的帖子是动态加载的,所以绑定事件的javascript在帖子实际加载之前运行,因此在尝试绑定事件时按钮不存在。您可以在jQuery中使用委派事件来处理此问题
您以前的代码
$('.btn-counter_likecount').on('click', function(event, count) {
....
});
新代码
$('#result-para').on('click','.btn-counter_likecount',function(event, count) {
....
}
这样,当jQuery的ready()
函数运行时,事件将实际绑定到已经存在的父元素。这样,事件处理程序在触发事件而不是绑定事件时检查匹配元素
要进一步阅读,请查看fetchlikes.php中的内容?请编辑您的问题。您的fetch.php
php代码肯定会有帮助。这样我们就可以看到脚本返回了什么,以及javascript/php交互是如何工作的。现在我们只能从javascript中猜测。
$('.btn-counter_likecount').on('click', function(event, count) {
....
});
$('#result-para').on('click','.btn-counter_likecount',function(event, count) {
....
}