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

CodeIgniter中使用AJAX实现二级下拉联动时二级菜单无数据问题求助

问题修复方案

核心错误原因

你的JavaScript代码中存在选择器拼写错误,导致下拉框选项清空逻辑失效,这是最直接的引发问题的原因。

具体修复步骤

    1. 修正JS选择器拼写
      把AJAX success回调里的清空选项代码:
    $('#subjectsection').find('option').not(':first').remove();
    
    改为(和你下拉框实际idsubject_section保持一致,补充下划线):
    $('#subject_section').find('option').not(':first').remove();
    
    1. 可选:适配CSRF保护(如果修改第一步后仍未解决)
      如果你的CodeIgniter开启了全局CSRF保护,POST类型的AJAX请求需要携带CSRF令牌才能正常返回数据,修改AJAX的data参数如下:
    data: {
      subject_id: subject_id,
      '<?php echo $this->security->get_csrf_token_name(); ?>': '<?php echo $this->security->get_csrf_hash(); ?>'
    },
    
    1. 可选:修正类名大小写规范(CodeIgniter3要求)
      你的控制器类名attendance、模型类名attendance_model首字母均为小写,不符合CodeIgniter3的类名规范,需将类名和对应的文件名首字母改为大写:Attendance、Attendance_model,避免类加载失败导致接口返回空。
    1. 可选:添加错误回调调试
      可以在AJAX配置中添加错误回调,打开浏览器控制台即可查看请求错误信息,快速定位问题:
    $.ajax({
      // 原有配置不变
      error: function(xhr, status, error) {
        console.log('请求错误:', xhr.responseText);
      }
    })
    

内容的提问来源于stack exchange,提问作者Adrian Lim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:24:02