Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 代码点火器+;jQuery Ajax成功运行,但调用了错误回调_Php_Ajax_Codeigniter_Jquery - Fatal编程技术网

Php 代码点火器+;jQuery Ajax成功运行,但调用了错误回调

Php 代码点火器+;jQuery Ajax成功运行,但调用了错误回调,php,ajax,codeigniter,jquery,Php,Ajax,Codeigniter,Jquery,我有一个非常简单的CodeIgniter项目,它做一些简单的数据库工作。目前,我有一个控制器方法,可以删除数据库中的一个项。在我看来,代码使用jQueryAjax对象引用该控制器,然后通过其回调显示成功或失败 问题是,尽管控制器工作正常(按预期删除数据库中的项),但调用的是ajax“error”回调,而不是“success” 我肯定我错过了一些非常基本的东西 以下是我的控制器方法: public function delete_note() { $this->load->he

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

问题是,尽管控制器工作正常(按预期删除数据库中的项),但调用的是ajax“error”回调,而不是“success”

我肯定我错过了一些非常基本的东西

以下是我的控制器方法:

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);
}

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

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

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

现在一切都很好


谢谢

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

现在一切都很好


谢谢

您是否尝试使用firebug或chrome developer工具查看您得到的网络响应?尝试打开codeigniter登录查看可能出现的问题。您是否尝试使用firebug或chrome developer工具查看您得到的网络响应?尝试打开codeigniter登录查看可能出现的问题。此外,要指出的是,查询函数接受一个参数(当然是字符串查询),这是错误的来源。另外,要指出的是,查询函数接受一个参数(当然是字符串查询),这是错误的来源。谢谢。我将修改我的错误函数,以包含将来可能出现的问题的重要信息。非常感谢,谢谢。我将修改我的错误函数,以包含将来可能出现的问题的重要信息。非常感谢。