CodeIgniter + jQuery Ajax 成功运行,但调用了错误回调


CodeIgniter + jQuery Ajax runs successfully but error callback is called

我有一个非常简单的CodeIgniter项目,可以做一些简单的数据库工作。 目前我有一个控制器方法,可以删除数据库中的项目。 在我看来,代码使用 jQuery ajax 对象来引用该控制器,然后通过其回调显示成功或失败。

问题是,尽管控制器工作正常(按预期删除数据库中的项目),但正在调用 ajax"错误"回调,而不是"成功"。

确定我在这里错过了一些超级基本的东西......

这是我的控制器方法:

public function delete_note()
{
    $this->load->helper('url');
    $this->load->model('auth/user', 'User');
    $this->load->database();
    $note_id = $this->input->post('id');
    $this->db->delete('admin_notes', array('id' => $note_id));
    $this->db->query();
    $this->output->set_status_header('200'); // Attempting to force the issue
}

下面是视图中的代码:

$('.delete_note').each(function(){
    var current = this;
    this.onclick = function(event)
    {
        var note_id = this.title;
        $.ajax({
            type: "POST",
            url: "/admin/delete_note",
            data: { id: note_id },
            success: function(data) { alert('I never see this!');},
            error: function () { alert('I *always* see this!');}
        });
    }
});

任何答案尝试都值得赞赏。 任何正确答案都会加倍赞赏;)

谢谢!

仅仅因为数据库逻辑正常工作,您可能会收到与其他内容相关的问题(也许是跨浏览器?要查看错误,请将错误函数更改为如下所示:

error: function (jqXHR, textStatus, errorThrown) {
   alert(textStatus);
   alert(errorThrown);
}
我要

感谢WojtekT提醒我在Firebug中检查我的回复。 我实际上收到了 PHP 错误的 500 状态代码。 我无关紧要的$this->db->query();需要删除呼叫。

现在一切正常。

谢谢!