使用jquery从视图传递多个变量到codeigniter控制器

时间:2013-05-23 11:35:03

标签: jquery codeigniter

我有一个观点,即使用jquery将一些信息发布到控制器。然后控制器使用发布信息运行一些逻辑,并将结果返回到我视图中的div。

我的视图语法是:

 $.post("get_link_load_options", { varlatitude: latitude, varlongitude: longitude }).done(function(data) { 
      $('#results').html(result);    
  });

我的控制器语法是:

function get_link_load_options(){
    $this->load->model('Sales_model');
    if (isset($_POST['data'])){
        $q = strtolower($_POST['data']);
        $data['result'] = $this->Sales_model->get_link_load_options($q);
        $this->load->view('sales\link_order_options',$data);
    }
}

目前,使用此语法,div将填充变量latitude的值并重复。

如何显示视图link_order_options的内容,以及如何访问控制器中的每个变量,以便我可以使用它执行逻辑。目前$ q获取了数据变量/数组。

如何在控制器中将每个纬度和经度存储为PHP变量?

一如既往地谢谢。

2 个答案:

答案 0 :(得分:2)

这是一个演示

控制器

function get_link_load_options()
{
    if($this->input->is_ajax_request()){
        $varlatitude    =   $this->inpput->post('varlatitude');
        $varlongitude   =   $this->inpput->post('varlongitude');

        $data['result'] =   $this->Sales_model->get_link_load_options($varlatitude , $varlongitude);
        $this->load->view('sales\link_order_options',$data);
    }
}

模型

public function get_link_load_options($latitude , $longitude)
{
    //blah blah
}

的Ajax

var latitude    =   $('#latitude_input_field_id').val();
var longitude   =   $('#longitude_input_field_id').val();

$.post("get_link_load_options", { varlatitude: latitude, varlongitude: longitude }).done(function(data) { 
  $('#results').html(data);    
}); 

HTML

<input type="text" id="latitude_input_field_id" />  
<input type="text" id="longitude_input_field_id" /> 

<div id="results">

</div>

答案 1 :(得分:1)

您可以使用Codeigniter的Input Class来检索帖子数据。

这可能会对您有所帮助:

if($this->input->post()) {
    $varlatitude = $this->input->post('varlatitude'); 
    $varlongitude = $this->input->post('varlongitude');
}