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

AJAX error status code 500 internal server error

本文关键字:错误 内部 服务器 代码 状态 AJAX      更新时间:2023-09-26

我有这个代码:

<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显示错误

,我该如何处理响应

不知道这是否是最好的答案。。

我只是通过将url: <?=base_url();?>controller/save更改为url: <?=base_url();?>save.php 来解决这个问题

我将ajax的url指向我的单个php文件,该文件位于文档的根目录中,并且不再使用ci控制器进行插入和更新查询,然后查看它的工作

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

感谢