javascript - 使用 AJAX 和 codeigniter 更新数据失败

标签 javascript php jquery ajax codeigniter

我想使用 Codeigniter 和 AJAX 更新我的数据以提交响应。

这是我的观点

<form id="form_update" action="<?php echo base_url() ?>admin/update_derap_info" method="POST"  role="form">

   <textarea cols="80" id="editor1" name="isi" rows="10" class="form-control" >

   </textarea>

<input type="submit" value="Simpan" class="btn btn-sm btn-primary" name="update_info_pemesanan">
</form>

我的 Controller

$data = array
    (
        'isi'=> ltrim(rtrim($this->input->post('isi')))
    );
         $this->info_derap->update($this->input->post('id_info'),$data);
         echo'<div class="alert alert-success">Terimakasih, pesan anda sudah kami terima. Pemberitahuan selanjutnya kami beritahunak lewat email.</div>';
         exit;

我的模型

function update($id,$data){
    $this->db->where($this->id, $id);
    $this->db->update($this->table, $data);
}

这是我的 AJAX

<script type="text/javascript">    
    $("#form_update").submit(function (e){
        e.preventDefault();
        $("#loader").show();
        var url = $(this).attr('action');
        var data = $(this).serialize();
        $.ajax({
            url:url,
            type:'POST',
            data:$("#form_update").serialize(),
        }).done(function (data){
            $("#response").html(data);
            $("#loader").hide();
            fillgrid();
        });                        
    });     
</script>

如果我点击提交2次,我可以更新我的数据,但是当我只提交1次时,它无法更新。

出了什么问题?

最佳答案

您无法使用表单进行更新。使用这个

<form  action="" method=""  role="form">

   <textarea cols="80" id="editor1" name="isi" rows="10" class="form-control" ></textarea>

   <input type="submit" value="Simpan" class="btn btn-sm btn-primary" name="update_info_pemesanan" id="form_update">
</form>

在 AJAX 中

<script type="text/javascript">
    $(function(){
        $("#form_update").click(function(event){
            event.preventDefault();
            $("#loader").show();
            var editor1= $("#editor1").val();

            $.ajax(
                {
                    type:'post',
                    url:"<?php echo base_url() ?>admin/update_derap_info",
                    data:{editor1:editor1},
                    success:function($data)
                    {
                        $("#response").html(data);
                        $("#loader").hide();
                        fillgrid();
                    }
                });
        });
    });
</script>

在 Controller 中

$text_area = $this->input->post('editor1')

因此在$text_area中包含您在表单中输入的文本

关于javascript - 使用 AJAX 和 codeigniter 更新数据失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31354073/

相关文章:

Javascript:每个客户端两个连接?

javascript - 为什么 [1,[2,3]] != [1,[2,3]]

javascript - 将数据转发到 Ractive.js 中的组件

php - 在PHP版本5.4中调用未定义的函数mysql_connect()

javascript - 将鼠标悬停在 div 上时,多个图像取决于鼠标位置

javascript - 使 jqGrid 多选选择在分页、工具栏搜索或过滤器之后持续存在

javascript - 将计算的 CSS 样式映射到指定的样式?

php/mysql变量

nginx - 无法在 php.ini 中更改 upload_max_filesize 或 post_max_size

javascript - 带有 RequireJS 的数据表