Javascript AJAX同时发布到不同的PHP页面
我有一个页面user.php,它是不同用户页面的模板,例如user.php?id=5。我运行一个AJAX脚本来监视数据库,以便在与每个用户的对话中发布新消息 我的问题是,当我将一条消息发布到user.php?id=5时,它也会出现在user.php?id=1等上 如何确保实时消息只发送给正确的用户 user.php中的脚本:Javascript AJAX同时发布到不同的PHP页面,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个页面user.php,它是不同用户页面的模板,例如user.php?id=5。我运行一个AJAX脚本来监视数据库,以便在与每个用户的对话中发布新消息 我的问题是,当我将一条消息发布到user.php?id=5时,它也会出现在user.php?id=1等上 如何确保实时消息只发送给正确的用户 user.php中的脚本: var refreshId = setInterval(function () { $.ajax({ url: 'another_file.php'
var refreshId = setInterval(function () {
$.ajax({
url: 'another_file.php',
data: { 'action': '<?php echo $lastID; ?>' },
dataType: 'json',
type: 'post',
success: function (data) {
var avatar = '<img src="images/avatars/' + data[1].avatar + '"/>';
if (compare_id != data[0].cr_id) {
$('#responses').prepend("<div class='row'><div class='col-xs-12'><div class='post_container_left_small' style='float:left;'><div class='reply_avatar'><div id='add_button_small'>" + avatar + "</div></div><div class='reply_text'><h3><span class='post_time'>now</h3>" + data[0].reply + "</div></div></div></div>");
}
compare_id = data[0].cr_id;
},
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nError:" + err);
}
});
}, 7500);
整个想法是user.php是应用程序中用户的通用视图,通过使用查询参数,您必须仅获取该用户的信息。您已选择使用AJAX wich is js,并且仅在应用程序的视图层下运行,在本例中,用户的浏览器,因此您需要一些js代码来监听一些操作,以便完成两件事:让php控制器层更新查询参数id,然后再次运行ajax请求以获取数据库数据并更新html字段。这将取决于您在php页面中获取数据的方式。您尚未显示此代码,因此我们无法真正提供帮助。我假设您需要在查询中添加WHERE子句,该子句将结果集限制为所需用户的id。谢谢,添加了一些代码您添加了JS,我们需要查看PHP。添加了它调用的PHP类函数,您还需要更多吗?您好,谢谢您的回复,在这种情况下,查询参数id是什么?此?id=url的5位。在问号被调用或url参数之后的任何事情,我有点混淆了术语,对此表示抱歉。
public static function getLast($lastID) {
$lastID = (int)$lastID;
$result = mysql_query("SELECT * FROM mc_conversation_reply ORDER BY cr_id DESC LIMIT 1");
$userC = new UserTools();
while($row = mysql_fetch_array($result)) {
//echo json_encode($row);
$userRObj = $userC->get($row['user_id_fk']);
//echo json_encode($userRObj);
echo json_encode(array($row,$userRObj));
}
}