繁体   English   中英

使用ajax显示codeigniter数据库错误

[英]displaying codeigniter database error using ajax

我收到错误500内部服务器错误

我想显示数据库错误以供查看,到目前为止,我只能在chrome网络响应中生成响应

模型类,我省略了构造函数

class Size_mdl extends MY_Model {      
        public function create($data) {
           return $this->insert($data);  
        }
    }

class MY_Model extends CI_Model {
 public function insert($data) {
        $success = $this->db->insert($this->table_name, $data);
        if ($success) {
            return true;
        } else {
            $msg = $this->db->error();
            return $msg;
        }
    }

控制者

$data['test_r'] = var_dump($this->Size_mdl->create($data));           
$this->load->view('size/create_size_view',$data);

视图

这是Welcome.php,最外面是页眉和页脚

    <div class="page">
        <!-- Page Header-->
        <header class="page-head"></header>
         <!-- Page Content-->
        <main id="main_content" class="page-content"></main>
         <!-- Page Footer-->
         <footer class="page-foot section-60 section-xl-150 text-center text-lg-left">

在该页面内,我已将create_size_view加载到main_content,以前是主页,一堆东西。

<head>
    <style>

    </style>
</head>
<body>
    <div id="container">
        <div id="content">
            <h5>Create New Size</h5>
            <div id="inner_container">
                <div id="create_part">
                    <?php
                    if (isset($test_r)){
                        echo $test_r;
                    }?>
                    <?php echo validation_errors(); ?>
                    <?php
                    $attributes = array('id' => 'create_size_form');
                    echo form_open("size/create", $attributes);
                    ?>
                    <p>
                        <?php echo lang('size_short_name_label', 'short_name'); ?>
                        <?php 
                            $short_name = array(
                                'name'          => 'short_name',
                                'id'            => 'short_name',
                                'maxlength'     => '100'
                            );
                            echo form_input($short_name);?>
                    </p>
                    <p>
                        <?php echo lang('size_long_name_label', 'long_name'); ?>
                        <?php 
                            $long_name = array(
                                'name'          => 'long_name',
                                'id'            => 'long_name',
                                'maxlength'     => '100',
                            );
                            echo form_input($long_name);?>
                    </p>
                    <p>
                        <?php echo form_submit('submit', lang('create_size_submit_btn')); ?>
                    </p>
                    <?php echo form_close(); ?>
                </div>
            </div>
        </div>
    </div>
    <script>
        $('form#create_size_form').submit(function (e) {

            var form = $(this);

            e.preventDefault();

            $.ajax({
                type: "POST",
                url: "<?php echo site_url('size/create'); ?>",
                data: form.serialize(), // <--- THIS IS THE CHANGE
                dataType: "html",
                success: function (result) {
                    $('#main_content').html(result);
                },

            });

        });

    </script>
</body>

现在,我需要响应来解决插入失败的问题,该问题似乎取代了create_size_view.php中的main_content welcome.php或其子级div。 我可以通过重新加载create_size_view.php来产生成功的插入

更改ajax url属性。 使用“ / size / create”之类的网址,不要使用“ www.site.com/size/create”之类的域名;

使用文本绑定数据

$.ajax({
                type: "POST",
                url: "<?php echo site_url('size/create'); ?>",
                data: form.serialize(), // <--- THIS IS THE CHANGE
                dataType: "html",
                success: function (result) {
                    $('#main_content').text(result);
                }
            });

在Codeigniter中,针对MySQL的预定义错误处理程序。 如果遇到错误,Codeigniter会抛出HTML内容,并带有500个服务器站点的错误,以避免出现此页面500状态代码将Codeigniter ENVIRONMENT投入生产,那么您的代码将正常运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM