首页 > 解决方案 > 如何在我的 php 控制器中获得 ajax 答案

问题描述

我正在开发一个新项目,它位于一个不错的框架上,即 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: boolean false

标签: phpajaxcodeigniter

解决方案


更改 Ajax URL

url: "<?= base_url('controller_name/function_name')?>",

推荐阅读