Jquery 代码点火器节省职位两次

Jquery 代码点火器节省职位两次,jquery,ajax,codeigniter,Jquery,Ajax,Codeigniter,我有一个Codeingiter应用程序,它使用jquery将帖子存储到数据库中!但问题是,它存储相同的数据两次!我检查了代码,但我似乎无法理解它!请帮帮我! 视图: 型号: function add_post($post_data){ $this->db->trans_start(); $this->db->insert('posts',$post_data); $this->db->trans_complete(); } 在你的JS

我有一个Codeingiter应用程序,它使用jquery将帖子存储到数据库中!但问题是,它存储相同的数据两次!我检查了代码,但我似乎无法理解它!请帮帮我! 视图:

型号:

function add_post($post_data){
    $this->db->trans_start();
    $this->db->insert('posts',$post_data);
    $this->db->trans_complete();
}
在你的JS中试试这个。 据我所知,它创建了DOM树

$('#poster_button').click(function(e){
e.stopImmediatePropagation();
if(!$('#poster_textarea').val()){
        $('#poster_textarea').css('border','1px solid pink').focus();
        return false;
    }else{
        var poster_textarea = $('#poster_textarea').val();
        var url = "<?php echo base_url();?>index.php/blog/add_post";
        $.ajax({
            type: "POST",
            url: url,
            data: 'poster_textarea='+poster_textarea,
            //datatype: "json",
            success: function() 
            {
                alert('saved');
            }
        });
    }
});
$(“#海报按钮”)。单击(功能(e){
e、 停止即时复制();
if(!$('#poster_textarea').val()){
$('#poster_textarea').css('border','1px solid pink').focus();
返回false;
}否则{
var poster_textarea=$('#poster_textarea').val();
var url=“index.php/blog/add_post”;
$.ajax({
类型:“POST”,
url:url,
数据:“poster_textarea=”+poster_textarea,
//数据类型:“json”,
成功:函数()
{
警报(“已保存”);
}
});
}
});

如果您有firebug,那么您需要单击“网络”选项卡并提交表单,以检查它发送了多少帖子。@Syed Haider Hassan:当然,它会发送两篇帖子。。它在萤火虫中出现了!但是为什么应该发布两个呢?它工作得很好,但是函数stopImmediatePropagation()做什么呢?它会继续生成DOM树,直到刷新页面为止。因此,为了停止它,您需要使用函数。。当我使用ajax时,我经常在我的项目中使用它:p也检查这个页面。谢谢你这么多的朋友为伟大的信息!
function add_post(){
    $post_data = array(
        'id'            => '',
        'user_id'   =>  '11330',
        'content'   =>  $this->input->post('poster_textarea'),
        'date_time' => date("Y-m-d H:i:s"),
        'status'        =>  '1'
    );
    $this->blog_model->add_post($post_data);
}
function add_post($post_data){
    $this->db->trans_start();
    $this->db->insert('posts',$post_data);
    $this->db->trans_complete();
}
$('#poster_button').click(function(e){
e.stopImmediatePropagation();
if(!$('#poster_textarea').val()){
        $('#poster_textarea').css('border','1px solid pink').focus();
        return false;
    }else{
        var poster_textarea = $('#poster_textarea').val();
        var url = "<?php echo base_url();?>index.php/blog/add_post";
        $.ajax({
            type: "POST",
            url: url,
            data: 'poster_textarea='+poster_textarea,
            //datatype: "json",
            success: function() 
            {
                alert('saved');
            }
        });
    }
});