简体   繁体   English

如何使用 Ajax 将变量值传递给 CodeIgniter 控制器?

[英]How to pass a variable value to CodeIgniter Controller with Ajax?

I am trying to pass data to controller using AJAX, but for some reason the data is not being sent.我正在尝试使用 AJAX 将数据传递给控制器​​,但由于某种原因数据没有被发送。

Controller:控制器:

class Home extends CI_Controller 
{

public function __construct() 
{

    parent::__construct();

    //$this->d['module'] = 'home';
    $this->load->model('menu');
    $this->load->model('harta_baru/proses_harta');
  }

public function Proses_Harta()
{
  $this->d['harta'] = $this->proses_harta->tarikh();
  $tarikh = $this->input->post('tarikh');
  $this->d['harta2'] = $this->proses_harta->harta($tarikh);
  $this->load->view('harta_baru/proses_harta',$this->d);
}

} }

view:看法:

<div class="col-lg-6">
    <!-- <input type="text" class="form-control" placeholder="Sila Masukkan Tarikh" name="tarikh"/>-->
    <select class="select2_demo_3 form-control" name="tarikh" id="tarikh">
        <option name="tarikh">--Sila Pilih Tarikh--</option>
        <option name="tarikh" value="00">SEMUA</option>
        <?php  foreach ($harta as $row)
{ ?>
            <option name="tarikh" value="<?php echo $row['TARIKH']; ?>">
                <?php echo $row['TARIKH']; }?>
            </option>
    </select>

</div>

<button class="btn btn-sm btn-primary login-submit-cs" type="submit" name="cari" id="hantar">Hantar</button>
<button class="btn btn-white" type="reset" onClick="window.location='../home/proses_harta';">Reset</button>

<script>
    $('#hantar').click(function(e) {
        e.preventDefault();
        var tarikh = $('#tarikh').val();
        //var url = "<?php echo base_url(); ?>index.php/home/proses_harta";
        console.log("hantar: " + tarikh);
        $.ajax({
            url: "<?php echo base_url(); ?>index.php/home/proses_harta",
            method: "POST",
            data: {
                'tarikh': tarikh
            },
            success: function(data) {
                console.log('ok');
            },
            error: function(data) {
                console.log('error');
            }
        });
    });
</script>

MODEL:模型:

class Proses_Harta extends CI_Model 
{

function __construct()
{
    parent::__construct();
    //$this->load->helper('cookie');
    $this->load->helper(array('cookie', 'url')); 
}

public function tarikh() 
{
    $query = $this->db->query("select distinct(to_char(thantar,'dd/mm/yyyy')) as tarikh from pnlkew.harta_penilaian_smk WHERE  jeniskes=1 and status='N' ORDER BY 
    to_date(to_char(thantar,'dd/mm/yyyy'),'dd/mm/yyyy') ASC");
    return $query->result_array();


}public function harta($tarikh) 
{

        $query = $this->db->query("select noakaun, KUID,to_char(tkk,'dd/mm/yyyy') TKK, decode(MUKIM,'01','KLANG UTARA','KLANG SELATAN') MUKIM, KOD_KEMENTERIAN, 
        NAMA_KEMENTERIAN, to_char(thantar,'dd/mm/yyyy') thantar,
        KOD_JABATAN, NAMA_JABATAN,KOD_KERAJAAN,NAMA_KERAJAAN,PEMILIK, NT, KADAR,(NT*KADAR/100/2) HASIL from pnlkew.harta_penilaian_smk WHERE  jeniskes=1 and status='N' 
        and thantar = to_char(to_date('$tarikh','dd/mm/yyyy'))");

    return $query->result_array();

}

How to pass a variable value to CodeIgniter Controller with Ajax?如何使用 Ajax 将变量值传递给 CodeIgniter 控制器?

First thing, In my opinion please use input type submit instead of button.首先,我认为请使用输入类型提交而不是按钮。

<input type="submit" class="btn btn-sm btn-primary login-submit-cs" id="hantar" value"Hantar">

Second thing, Change your code like this:第二件事,像这样改变你的代码:

<script>
     $('#hantar').click(function(e) {
        e.preventDefault();
        var tarikh = $('#tarikh').val();
        var url =  <?php echo base_url('home/proses_harta'); ?>;
        console.log("hantar: " + tarikh);
        $.ajax({
            url: url,
            method: "POST",
            data: {
                'tarikh': tarikh
            },
            success: function(data) {
                console.log(data);
            },
            error: function(data) {
                console.log(data);
            }
        });
  });
</script>

Please check your model that the function is successfully run or not?请检查您的模型该功能是否成功运行?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM