我一直在尝试更新数据库行,而不必重新加载页面或重定向到另一个页面来提交查询。我已经尝试了我能做的任何事情,但没有运气。我有一个画廊页面。当用户提交艺术品时,默认情况下它没有被批准,并且可以由授权用户(例如版主)批准。版主页面列出了未经批准的艺术作品。数据库有一个名为approved 的列,其值为0 或1。
这是我的代码。
更新:
非常感谢您抽出宝贵时间。我做了你说的改变,但它仍然没有工作。诚然,我对 jQuery/Ajax 不是很擅长,所以我认为它为什么不起作用是我的错误。我的代码现在是这样的:
模型功能:
function approve($id)
{
    $this->db->where('id', $id);
    $this->db->update('galeri', array('approved' => '1')); 
    return TRUE;
}
控制器
function approve($id)
{
    if ($this->galeri->approve($id)) {
        echo("VALID");
    }
}
HTML
.
.
.
<script type="text/javascript">
        $(document).ready(function() {
            var test = $("a.approval").attr("id").replace('artid-','');
            $.ajax({
                  type: 'post',
                  url: 'approve',
                  data: test,
                  beforeSend: function() {
                    parent.animate({'backgroundColor':'#fb6c6c'},300);
                  },
                  success: function(data, textStatus, jqXHR) {
                    if (data == "VALID") {
                        parent.slideUp(300,function() {
                          parent.remove();
                        });
                    };
                  }
            });
          });
        });
    </script>
.
.
.
    <?php foreach ($query->result() as $list): ?>
        <span style="display: block">
            <?php echo $list->path; ?> -- <a href="javascript:void(0)" id="artid-<?php echo $list->id; ?>'" class="approval">Approve artwork</a>
        </span>
    <?php endforeach; ?>
.
.
.