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条)

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测