You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter根据输入日期获取星期显示到文本框的代码排错

问题说明

需要实现的功能:根据用户输入的日期,自动计算对应星期值并填充到指定文本框中。以下是编写的相关代码,目前功能无法正常运行。


前端AJAX逻辑代码

$("#date").change(function(){
    $.ajax({
        url : "<?php echo base_url();?>daftar/get_day",
        method : "POST",
        data : {date: $("#date").val()},
        async : false,
        success: function(data){
            $("#day").val(day);
        }
    });
});

CodeIgniter控制器代码

function get_day()
{
    $date=$this->input->post('date');
    $this->load-model('daftarmodel');
    $day = $this->daftarmodel->geDay($date);
    echo $day;
}

CodeIgniter模型代码

function getDay($date){
    $timestamp = strtotime($date);
    $day = date('D', $timestamp);
    var_dump($day);
    return $day;
}

存在的错误

代码一共有4处直接导致功能失效的问题:

  • 前端回调变量名错误:AJAX请求成功后,后端返回的内容存在于回调函数的入参data中,代码赋值时使用了未定义的变量day,正确写法应为$("#day").val(data);
  • 控制器加载模型语法错误:CodeIgniter框架加载模型的正确写法是$this->load->model('daftarmodel'),代码中将对象操作符->错写为连字符-,会直接触发PHP语法错误,中断请求
  • 控制器调用模型方法名拼写错误:模型中定义的获取星期的方法名为getDay(),控制器调用时错写为geDay(),漏写了字母t,会触发调用不存在方法的致命错误
  • 模型多余调试输出污染返回值:模型中写了var_dump($day)调试语句,该语句会输出带变量类型、长度的结构化内容(例如输出string(3) "Tue"),和后续echo $day的内容拼接后,返回给前端的不是纯星期字符串,会导致文本框填充内容异常,需要删除该行调试代码

内容的提问来源于stack exchange,提问作者yehuda satrio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 22:39:15