将变量从javascript函数传递给codeigniter中的controller方法

时间:2013-03-30 07:43:24

标签: php javascript codeigniter codeigniter-2

我是CodeIgniter的新手。我正在制作一个项目,我在其中制作了一个javascript函数,在此我定义了一个变量..它看起来像这样

var $rowCount=0;
function invest() {
  $rowCount=$('#ulinvestment').find('.rowInvestment').length;
}

我的控制器功能包含

function input(parameter //i want to pass $rowcount value here ){
$this->load->helper('form');
$this->load->helper('html');
$this->load->model('mod_user');
$this->mod_user->insertdata();
 }

我想在控制器功能中访问变量$rowCount,我该怎么做?

1 个答案:

答案 0 :(得分:0)

为了确保我理解你,你试图将一个变量从javascript传递给CodeIgniter的控制器函数,对吗?

如果那是你的情况(希望如此),那么你可以使用AJAX,或者制作锚链接。

首先,您将使用URI class,特别是segment()函数。

我们假设这是你的控制器:

class MyController extends CI_Controller
{
    function input(){
    $parameter = $this->uri->segment(3);//assuming this function is accessable through MyController/input

    $this->load->helper('form');
    $this->load->helper('html');
    $this->load->model('mod_user');
    $this->mod_user->insertdata();
    }
}

现在使用javascript你可以制作一个锚标签,或者使用AJAX:

方法1:通过制作锚标记:

<a href="" id="anchortag">Click me to send some data to MyController/input</a>


<script>

var $rowCount=0;
function invest() {
  $rowCount=$('#ulinvestment').find('.rowInvestment').length;
}
$('#anchortag').prop('href', "localhost/index.php/MyController/input/"+$rowCount);
</script>

方法2:使用AJAX:

var $rowCount=0;
function invest() {
  $rowCount=$('#ulinvestment').find('.rowInvestment').length;
}
//Send AJAX get request(you can send post requests too)
$.get('localhost/index.php/MyController/input/'+$rowCount);