2天前,我问了这个问题,得到了1个答案,但我不明白。所以,我问你,如果你们有更好的/简单的选择。在Code Igniter项目中使用AJAX访问数据库
看这个代码片段:
<?php
foreach($array as $key=>$value)
{
?>
<div>
<input type="text" name="comment" id="comment" onkeypress="showUser()"/>
<input type="hidden" name="id" id="id" value="<?php echo $value['comment'];?>"/>
<div id="comment"></div>
</div>
<?php
}
?>
在这里,有一些<div>
项目,每个项目有自己的 “文本框” S。我想要的是,我的用户会在该“textfield”中给出他们的评论,并且我会从该hidden
字段获得相应的评论ID。当用户输入评论时,该评论将被存储在数据库中并使用该“id”显示给用户(在“评论”<div>
中)。我想用一个正常的<form>
并让用户“提交”(一个submit
按钮)的评论。但这很耗时,整个页面将被重新加载。所以,我认为AJAX对这件事情更好。它就像“评论”Facebook的一部分。
这是我的AJAX代码:
<script type="text/javascript">
function showUser()
{
$(this).keypress(function(e){
if(e.which && e.which==13)
{
$.post("<?php echo base_url();?>help/ajax_work_comment",
{
comment:this.value,
id:$(this).next('#id').attr('value');
})
}
else
{}
});
}
</script>
请记住,这是一个Code Igniter
项目,所以 “帮助” 是一个Controller
和ajax_work_comment
是在Controller
功能。这里是ajax_work_comment()
功能:
public function ajax_work_comment()
{
$comment=$_POST["comment"];
$id=$_POST["id"];
$this->load->model('help/model');
$this->model->ajax_work_comment($comment,$id);
echo $comment;
}
我知道它非常复杂。其实,我是一个新的网络开发人员,这就是为什么它变得复杂和恶心。请帮帮我。
有什么问题吗?这是否工作?不行?你问我们什么? –
+1以上。有什么问题?如果您将AJAX存储在单独的目录中,则需要修改.htaccess,因此默认情况下它不会重定向到CodeIgniter的index.php。 – monkeymatrix
@RocketHazmat此代码无法正常工作,我无法通过此代码将用户的注释存储在数据库中。我认为问题出在AJAX代码中。 – user2387319