codeigniter 视图未使用 jquery $post 加载

codeigniter view not loading using jquery $post

我需要 post 一些值到控制器并使用 jquery $post 方法加载视图,但页面未加载,但我可以在控制台中看到该页面浏览器。

我的代码:

$('#fm_reservation').submit(function(){

    var days = getTimeDiff();
    $.post(base_url+'vehicle/getVehicles',{'vehicle_name':vehicle_name,'days':days},function(data){
    });
  return false;
});

控制器:

public function getVehicles(){

 $vehicle_name = $this->input->post('vehicle_name');
 $days = $this->input->post('days');

 $where = array('vehicle_name'=>$vehicle_name);
 $vehicle_arr = $this->almana_model->getVehicles($where);
 $data['vehicle_arr'] = $vehicle_arr;
 $this->load->view('vehiclec/vehicle.html');

}

请帮忙

它不会加载你的视图,如果你想加载你可以在控制台中输出你的视图,你可以通过 jquery 或重定向使用表单 post。

示例:使用 ajax 请求发送表单数据

$.post( "test.php", $( "#testform" ).serialize() );

http://api.jquery.com/jquery.post/

使用 codeigniter 您可以像这样将视图加载到变量中:

$html = $this->load->view('vehiclec/vehicle.html',array(),true);
die($html);

请注意,vehicle.html 是错误的,codeigniter 从 php 文件加载视图,因此视图文件应该是 vehicle.php 并且调用 "vehicle/vechicle"

view 方法最后一个参数中的布尔值 "true" 告诉 codeigniter 缓冲视图文件而不是显示它。然后,您可以将 html 作为响应发送回您的 ajax 请求,并使用您的 jquery:

更新 html
$('#fm_reservation').submit(function(){

    var days = getTimeDiff();
    $.post(base_url+'vehicle/getVehicles',{'vehicle_name':vehicle_name,'days':days},function(data){
    $("#html-element").html(data);
    });
  return false;
});