gpt4 book ai didi

php - AJAX 更改表行上的注释单击

转载 作者:行者123 更新时间:2023-11-28 03:10:13 24 4
gpt4 key购买 nike

我目前正在开发一个网络应用程序,演示如何在 ASL 中“签署”不同的词。左侧是术语列表,右侧是视频和评论部分。

请在此处查看屏幕截图:http://i917.photobucket.com/albums/ad19/brycematheson/Screen%20Shot%202015-06-16%20at%2010.05.36%20PM.png

每当单击新术语时,我都在努力使用 AJAX 更改评论。目前,评论与选择新术语保持不变。我将如何使用 AJAX 更改评论部分以在选择新术语时更新?

我的评论区是这样的。更新 PHP 中的 $id_post=3 部分将更改评论以匹配数据库中具有该 ID 的评论,所以这不是问题,我只需要即时执行即可。

这是我在 index.php 页面中的评论代码:

<?php 
// Connect to the database
require_once('models/db-settings.php');
$id_post = '$_POST['rowID']; //the post or the page id
?>
<div class="cmt-container">
<?php
$sql = mysqli_query($mysqli, "SELECT * FROM comments WHERE id_post = '$id_post' ORDER BY id ASC") or die(mysqli_error($mysqli));
while($affcom = mysqli_fetch_array($sql,MYSQLI_ASSOC)) {
$id = $affcom['id'];
$name = $affcom['name'];
$email = $affcom['email'];
$comment = $affcom['comment'];
$date = $affcom['date'];

// Get gravatar Image
// https://fr.gravatar.com/site/implement/images/php/
$default = "mm";
$size = 35;
$grav_url = "http://www.gravatar.com/avatar/".md5(strtolower(trim($email)))."?d=".$default."&s=".$size;

?>
<div class="cmt-cnt">
<img src="<?php echo $grav_url; ?>" />
<div class="thecom">
<h5><?php echo ucfirst($name); ?></h5><span data-utime="1371248446" class="com-dt"><?php echo $date; ?></span>
<br/>
<p>
<?php echo $comment; ?>
</p>
<div style="float:right;"><span class="action"><a href="#" id="<?php echo $id; ?>" class="delete" title="Delete">X</a></span></div>
</div>
</div><!-- end "cmt-cnt" -->
<?php } ?>


<div class="new-com-bt">
<span>Write a comment ...</span>
</div>
<div class="new-com-cnt">
<textarea class="the-new-com"></textarea>
<div class="bt-add-com">Post comment</div>
<div class="bt-cancel-com">Cancel</div>
</div>
<div class="clearfix"></div>
</div>

还有我的 Javascript:

 $('#matrix tr').click(function (event) {
var rowID = ($(this).attr('id')); //trying to alert id of the clicked row
$(function(){
e.preventDefault();
$.ajax({
type: 'POST',
url: 'index.php',
data: rowID,
success: function(msg) {
}
});
});
});

我做错了什么?我错过了什么吗?

提前致谢。

最佳答案

一旦页面返回给您,您实际上并没有对它做任何事情

success: function(msg) {
}

当 ajax 成功完成时,此函数中的代码将执行,页面返回的任何内容都将包含在 msg 参数中。

success: function(msg) {
$('#comments-container').html(msg);
}

这将用返回的任何 ajax 请求完全替换具有 id="comments-container" 的元素的内容。

您可能会正确阅读 jQuery AJAX 文档页面并研究一些示例。 http://api.jquery.com/jquery.ajax/

一旦你解决了这个问题,你会遇到它仍然不会改变的问题,这是因为你没有发送格式正确的 POST 数据。

data: rowID,

为了像您尝试的那样访问 POST 数据(使用 $_POST[key]),POST 数据也需要在键值对中。

data: "rowID=" + rowID,

阅读 $_POST 超全局的 PHP 手册页上的注释,以便更好地理解这一点。 http://php.net/manual/en/reserved.variables.post.php

编辑:哦,如果您打算向公众发布此网站,您可能需要查看 SQL 注入(inject)以及如何加强您的网站以抵御它。就目前而言,这很容易被攻破,您的数据库就会受到损害。

关于php - AJAX 更改表行上的注释单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30882261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com