首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ajax插入评论内容

问使用Ajax插入评论内容
EN

Stack Overflow用户
提问于 2012-08-08 22:48:34
回答 2查看 508关注 0票数 0

我正在尝试使用Ajax插入我的评论内容。但我想我在comment_add.php页面上遇到了问题,不知道是否有人能帮我看看。

就像我在firebug中检查的那样,获取streamid似乎可以工作,但它没有显示任何内容。因此,我不知道我是否遗漏了一些我看不到但其他人可能能够找到的东西。也许我只是没有正确地编写comment_add页面。

表格

代码语言:javascript
复制
echo "<form id='addcomment' method='POST' class='form_statusinput'>
<input type='hidden' name='posterid' id='posterid' value='".$user1_id."'>
<input type='hidden' name='streamid' id='streamid' value='".$streamitem_data['streamitem_id']."'>
<input name='content' id='content' placeholder='Comment..' autocomplete='off'>
<input type='submit' id='button' value='Feed'>
</form>";

AJAX

代码语言:javascript
复制
<script>
$(document).ready(function(){
$("form#addcomment").submit(function(event) {
event.preventDefault();
var content = $("#content").val();
var streamid = $("#streamid").val();

$.ajax({
type: "POST",
url: "comment_add.php",
dataType: "json",
data: {content:content,streamid:streamid}, 
success: function(response){ 
$("#commentaddid").prepend(""+content+"");
}
});
});
});
</script>

COMMENT_ADD.PHP

代码语言:javascript
复制
<?php
session_start();
require"include/load.php";
$user1_id=$_SESSION['id'];
if(isset($_POST['streamid'])&isset($_POST['content'])){
if($_POST['content']){
rawfeeds_user_core::add_comment($_POST['streamid'],$_POST['content']);
}
}
?>

函数

代码语言:javascript
复制
public function add_comment($streamid,$content){
            $content =  mysql_real_escape_string($content);
            $content =  strip_tags($content);

            $content = preg_replace('/(?<!S)((http(s?):\/\/)|(www.))+([\w.1-9\&=#?\-~%;\/]+)/','<a href="http$3://$4$5">http$3://$4$5</a>', $content);

            if(strlen($content)>0){
            $insert = "INSERT INTO streamdata_comments(comment_poster, comment_streamitem, comment_datetime, comment_content) VALUES (".$_SESSION['id'].",$streamid,UTC_TIMESTAMP(),'$content')";
                        echo $insert;

            $add_post = mysql_query($insert) or die(mysql_error());
            }
            return;
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-08 22:52:06

变化

代码语言:javascript
复制
success: function(response){ 
$("#commentaddid").prepend(""+content+"");
}

至

代码语言:javascript
复制
success: function(response){ 
$("#commentaddid").prepend(""+response+"");
}

因为该函数中不存在内容

和

你的链接不会是<a>的

编辑2因为你想从另一边添加数据,所以这里有一个小技巧,你可以用它来获取内容

代码语言:javascript
复制
$.ajax({
type: "POST",
url: "comment_add.php", 
dataType: "json",
_content:content,
data: {content:content,streamid:streamid},  
success: function(response){  
    $("#commentaddid").prepend(""+this._content+""); 
} 
});

这是可能的,因为构造函数循环遍历对象并将其设置为

票数 1
EN

Stack Overflow用户

发布于 2012-08-08 23:38:14

您的输入字段"content“标记缺少值和类型属性。类型并不重要,因为它默认为文本,但显式指定总是更好。

代码语言:javascript
复制
<input name="content" type="text" value="" id="content" placeholder="Comment.." autocomplete="off" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11867133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档