【问题标题】:passing multiple variables to codeigniter controller from view with jquery使用jquery将多个变量从视图传递给codeigniter控制器
【发布时间】:2013-05-23 11:35:02
【问题描述】:

我有一个观点,即使用 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 填充了变量纬度的值并被复制。

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

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

一如既往的感谢。

【问题讨论】:

  • 您可以使用 Codeigniter 的Input Class 来检索帖子数据。检查下面的答案。
  • 您没有向控制器发布任何data,只有varlatitudevarlongtitude。这意味着在控制器中,您可以通过访问 $_POST['varlatitude']$_POST['varlongtitude'] 找到它们。

标签: jquery codeigniter


【解决方案1】:

这是一个演示

控制器

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
}

阿贾克斯

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>

【讨论】:

    【解决方案2】:

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

    这可能会对您有所帮助:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多