ajax - 如何使用ajax调用控制器函数
问题描述
我有两个单选按钮和一个复选框。单选按钮全部选中,当全部选中时,我必须加载一个视图页面,如果选中一个复选框,我想执行不同的操作,我必须加载不同的视图页面。 .我用 if 和 else 语句尝试了它,但它没有给我预期的结果..所以我用不同的函数名称尝试了它..如果选中了一个复选框,我必须调用 Receipt Reg chek()..我用 ajax 尝试了它,但我没有接到对 Receipt Reg check() 的调用,它仍然调用加载在表单操作上的 Receipt Reg Check1() ..我的代码必须做哪些更改..帮助我解决这个问题
控制器代码:
public function Receipt_reg_check1()
{
$startdate = $this->input->post('SDate');
$enddate = $this->input->post('EDate');
$date = str_replace('/', '-', $startdate);
$newDate = date("Y-m-d", strtotime($date));
$date2 = str_replace('/', '-', $enddate);
$newDate2 = date("Y-m-d", strtotime($date2));
$data['startdate'] = $startdate;
$data['enddate'] = $enddate;
$item=$this->input->post('item');
if ($this->input->post('all'))
{
$this->db->where('date >=', $newDate);
$this->db->where('date <=', $newDate2);
$this->db->select('*');
$this->db->from('purchasebill');
$this->db->order_by("date", "asc");
$this->db->join('parmaster','parmaster.Pcode = purchasebill.partyname','left outer');
$query = $this->db->get()->result_array();
$data['query'] = $query;
$this->load->view('Receipt_View', $data);
}
if($this->input->post('selected'))
{
if($name = $this->input->post('businessType'))
{
$this->db->where('date >=', $newDate);
$this->db->where('date <=', $newDate2);
$this->db->where('PName',$name);
$this->db->select('*');
$this->db->from('purchasebill');
$this->db->order_by("date", "asc");
$this->db->join('parmaster','parmaster.Pcode = purchasebill.partyname','left outer');
$query = $this->db->get('')->result_array();
$data['query'] = $query;
$this->load->view('Receipt_View', $data);
}
}}
public function Receipt_reg_check()
{
if($this->input->post('all'))
{
if($this->input->post('item')){
$startdate = $this->input->post('SDate');
$enddate = $this->input->post('EDate');
$date = str_replace('/', '-', $startdate);
$newDate = date("Y-m-d", strtotime($date));
$date2 = str_replace('/', '-', $enddate);
$newDate2 = date("Y-m-d", strtotime($date2));
$data['startdate'] = $startdate;
$data['enddate'] = $enddate;
$this->db->where('billdate >=', $newDate);
$this->db->where('billdate <=', $newDate2);
$this->db->select('vno,Prdtname,Qty,bundle');
$this->db->from('purchaseitem');
$this->db->order_by("vno", "asc");
$this->db->join('itemmaster','itemmaster.itcode = purchaseitem.Product_Code','left outer');
$query = $this->db->get('')->result_array();
$data['query'] = $query;
$this->db->where('date >=', $newDate);
$this->db->where('date <=', $newDate2);
$this->db->select();
$this->db->from('purchasebill');
$this->db->order_by('voucherno');
$this->db->group_by('voucherno');
$this->db->join('parmaster','parmaster.Pcode = purchasebill.partyname','left outer');
$query = $this->db->get('')->result_array();
$data['query1'] = $query;
$this->load->view('Receipt_View1',$data);
}}
}}
网页:
<form class="form-horizontal" action="<?=site_url('welcome/Receipt_reg_check1')?>" method="POST" target="_blank">
<input type="radio" class='rd'name="all" value="op1" checked=""> All
<input type="radio" name="selected" class='rd' value="op2"> Selected
<input type="checkbox" name="item" id="AcNo" >Item description
阿贾克斯代码:
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
type: "POST",
url: "<?php echo base_url();?>welcome/Receipt_reg_check",
data:{id:$(this).val()},
datatype:'json',
success: function (data) {
var res = jQuery.parseJSON(data);
$("#AcNo").val(res);
}
});
});
</script>
解决方案
放
$this->load->view('Receipt_View',$data);
代替
$this->load->view('Receipt_View1',$data);
推荐阅读
- reactjs - React axios API 调用说“您需要启用 JavaScript 才能运行此应用程序”。
- python - 使用 curl 将 fly 上传到 FastAPI 端点 - 307 临时重定向
- azure - Azure ACR 任务 API?在 docker 容器中运行一个应用程序,该应用程序需要构建图像并将其推送到 ACR
- javascript - 如何在 DATABALES YAJRA laravel 8 中进行删除
- java - AWS Elastic Beanstalk NGINX 配置不起作用
- c++ - 如果 C++ 类是从 QAbstractItemModel 派生的,为什么从 QML 访问 C++ 函数会失败
- javascript - javascript - 将 json 字符串解析为不带引号的对象
- javascript - GraphQl 突变:addUser 不创建用户
- html - 如何使用 CSS 为另一个元素制作动画,而不必一直按住点击
- php - 在yii2中如何为列赋予别名