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

如何将AJAX数据传递到CodeIgniter控制器并从数据库获取对应数据

AJAX传值到控制器无返回问题修复方案

核心错误原因

  • 前后端字段键名不匹配:前端AJAX传递的字段名为orderfrom1、orderto1、agentlist1,但后端控制器、模型中读取的是不存在的order_from、order_to字段,导致无法正常取值。

分步修复代码

1. 控制器(Controller.php)修复

$details = $this->input->post();
// 替换为前端传递的对应字段名
$data["orderfrom1"] = date("Y-m-d", strtotime($details['orderfrom1']));
$data["orderto1"] = date("Y-m-d", strtotime($details['orderto1']));
$data["agentlist1"] = $this->Maindata->wiresearch1($details);

2. 模型(Model.php)修复

// 替换为前端传递的对应字段名
$orderfrom = date("Y-m-d", strtotime($data2['orderfrom1']));
$orderto = date("Y-m-d", strtotime($data2['orderto1']));
$agent_list = implode(', ', array_map(function($val){
    return sprintf("'%s'", $val);
}, $data2["agentlist1"]));

额外排查项

  • 若#ag1是多选下拉框,需要给元素添加multiple属性,否则$("#ag1").val()只能拿到单个字符串,模型中的array_map处理会报错
  • 调试阶段可在控制器第一行添加var_dump($this->input->post());打印所有POST参数,确认参数是否正常传递到后端,调试完成后删除即可
  • 若你的CodeIgniter框架开启了CSRF防护,需要在AJAX的formData中添加CSRF token参数,否则POST请求会被框架拦截

内容的提问来源于stack exchange,提问作者Gaming With Shady Wolf

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 04:54:01