【发布时间】:2019-05-09 09:00:27
【问题描述】:
我正在开发一个新项目,它在一个不错的框架上,即 CodeIgniter,但是当我想使用 ajax 时遇到了一些问题(我对此很不满意)。我想在我的控制器上获取 select 的值,但我不知道为什么(可能是因为我对 ajax 不满意)我无法获得正确的值。当我想知道 ajax 请求发送给我什么时,它会显示一个布尔值。
在来自 Chrome 的网络应用程序上,我收到了发送正确值的请求,即“annee:选择的值”但无法在我的控制器上获取它..
这是我的 ajax:
$('#annee').change(function(){
var annee = $('#annee').val();
console.log(annee);
$.ajax({
url: "admin",
type: 'post',
data: {annee:annee},
})
});
这是我的模型(cmip_model.php):
function getWhere($annee) {
$query = $this->db->get_where('cmip_surcharges_go', array('annee' =>
$annee));
return $query->result ();
}
这是我的控制器(CMIP.php):
public function admin()
{
$this->load->model('cmip_model');
$cmip_Obj = new cmip_model();
$surcharges = $cmip_Obj->getWhere($this->input->post('annee'));
$data = array();
$data['surcharges'] = $surcharges;
$data['page_title'] = " :: Admin";
$data['main_content'] = 'client/CMIP/admin';
$data['active'] = 'CMIP';
$this->load->view('_includes/template', $data);
}
这是我的观点:
année: <select id="annee">
<option value="">--année--</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
</select>
<?php var_dump($this->input->post('annee'));
var_dump($surcharges);
?>
实际上我是从我的 var dump 中得到的:
B:\wamp\www\cotationtro\applications\frontoffice\views\client\CMIP\admin.php:380: 布尔值 假的
【问题讨论】:
-
您能否澄清一下:您正在通过查看 Chrome 开发人员工具的“网络”选项卡来检查
<?php var_dump($this->input->post('annee')); var_dump($surcharges); ?>的输出,对吗? -
哦不,我直接在我的页面上看到了答案!只在网络选项卡上查看 ajax 的请求:)
-
基于我的 cmets 中的信息(由于其他地方的误导信息而完全错误,已删除)答案,这可能与 stackoverflow.com/questions/4197976/… 重复
-
这很奇怪,因为答案只是像 2019、2020 这样的数字,但我会尝试谢谢!
-
我不明白这里的流程。你有一个页面(我猜它不在上面),它对函数 admin 进行 ajax 调用并将视图呈现为 ajax 响应?你想达到什么目的。一步一步来。
标签: php ajax codeigniter