AJAX错误状态代码500内部服务器错误

时间:2015-03-25 10:47:12

标签: javascript php jquery ajax codeigniter

我有这段代码:

<a href="#">
    <i class="icon-heart" id="icon_heart" value="20"></i>
</a>
var some_value = $("#icon_heart").attr("value"); 

$('[id=id_heart]').click(function() {
    $.ajax({
        url: "<?=base_url(); ?>controller/save",
        type: "post",
        data: { some_value: some_value },
        success: function(dat){
            alert(dat);
        },
        error: function (xhr, ajaxOptions, thrownError) {
            alert(xhr.status);
            alert(thrownError);
        }
    });
});

PHP:

function save()
{
    $post = $this->input->post();
    $some_value = $post['some_value'];

    $dtl['some_field']  = $some_value;
    $dtl['date_insert'] = date('Y-m-d H:m:s');
    $this->db->insert('resep_like',array_filter($dtl));

    $this->db->set('is_like', 'is_like+1',FALSE);
    $this->db->where('some_field', $some_value);
    $this->db->update('some_table');

    echo "success";
}

插入和更新查询成功,但AJAX响应返回error: status code 500 internal server error。为什么会这样?它成功但结果是错误,并且不显示PHP的echo。如果成功但AJAX response显示错误

,我该如何处理响应

1 个答案:

答案 0 :(得分:0)

不知道这是否是最佳答案..

我只需将url: <?=base_url();?>controller/save更改为url: <?=base_url();?>save.php

即可解决此问题

我将我的ajax的url指向放在文档根目录中的单个php文件,而不是再次使用ci控制器来执行插入和更新查询,然后将其工作告知

如果有更好的方法,请告诉我。

由于