我试图用Ajax插入我的评论内容。但我相信我在comment_add.php页面遇到问题,并想知道是否有人可以为我寻找。用Ajax插入评论内容
获得streamid似乎工作,因为我在萤火虫检查,但它没有显示内容。所以我不知道我是否可能错过了一些我看不到的东西,但其他人可能会找到。或者,也许我只是没有正确书写comment_add页面。
FORM
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
<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
<?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']);
}
}
?>
功能
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;
}
实际上,只有在您调用数据时才会使用响应。我可以使用VAR内容,因为它已经作为内容添加到数据库中。 您的解决方案尚未解决我的问题。 – dave 2012-08-08 14:57:09
@dave检查编辑 – EaterOfCode 2012-08-08 16:07:57
奇妙的是,那个伎俩。 Thankyou @EaterOfCorpses。它现在有效。 什么是构造函数循环?为什么我必须这样做? – dave 2012-08-08 22:08:36