[英]How Can I pass two variable in Ajax URL to codeigniter controller?
[英]How to pass a variable value to CodeIgniter Controller with Ajax?
我正在尝试使用 AJAX 将数据传递给控制器,但由于某种原因数据没有被发送。
控制器:
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);
}
}
看法:
<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>
模型:
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();
}
如何使用 Ajax 将变量值传递给 CodeIgniter 控制器?
首先,我认为请使用输入类型提交而不是按钮。
<input type="submit" class="btn btn-sm btn-primary login-submit-cs" id="hantar" value"Hantar">
第二件事,像这样改变你的代码:
<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>
请检查您的模型该功能是否成功运行?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.