drtoaamk20278 2015-11-05 06:28
浏览 50
已采纳

在codeigniter中检查AJAX调用是否成功

I am using an AJAX call to insert some data into MYSQL

JS code:

$("input.addtruck").click(function (event) {
event.preventDefault();
        var user_id = $("input#user_id").val();
    var numar = $("input#numar").val();
    var serie = $("input#serie").val();
    var marca = $("select#marca").val();
    jQuery.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>" + "aplicatie/add_truck",
        dataType: 'json',
        data: {user_id: user_id, numar: numar, serie: serie, marca: marca},
    });
    success: function (res) {
        if (res)
        {
            jQuery("div#truck_form").hide();
            jQuery("div#success").show();
        } else {
            jQuery("div#error").show();
        }
    }
});

Method used from controller:

    function add_truck() {
            $data = array(
                'user_id' => $this->input->post('user_id'),
                'marca' => $this->input->post('marca'),
                'serie' => $this->input->post('serie'),
                'numar' => $this->input->post('numar')
            );
//Transfering data to Model
            $this->trucks_model->insert_truck($data);
            $data['confirmare'] = 'Data Inserted Successfully';
        }

And method from models file

function insert_truck($data){
$this->db->insert('trucks', $data);
}

Basicly i need to hide the #truck_form and show #success if the data was inserted, or show #error .

  • 写回答

5条回答 默认 最新

  • dpsu84620 2015-11-05 06:34
    关注

    You need to check data is inserted or not in database using affected_rows in model

    Model

    function insert_truck($data){
    $this->db->insert('trucks', $data);
    $afftectedRows=$this->db->affected_rows();
    if($afftectedRows>0)
    {
        return TRUE;
    }
    else{
        return FALSE;
    }
    
    }
    

    YOu need to echo your result in Controller

    Controller

    function add_truck() {
                $data = array(
                    'user_id' => $this->input->post('user_id'),
                    'marca' => $this->input->post('marca'),
                    'serie' => $this->input->post('serie'),
                    'numar' => $this->input->post('numar')
                );
    //Transfering data to Model
            $res=$this->trucks_model->insert_truck($data);
            if($res){
            $data['msg'] = 'true';
            }else{
               $data['msg'] = 'false';
            }
             echo json_encode($data);
            }
    

    Ajax

    success: function (res) {
            if (res.msg=='true')
            {
                jQuery("div#truck_form").hide();
                jQuery("div#success").show();
            } else {
                jQuery("div#error").show();
            }
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?