pass variable from javascript function to controll

2019-08-13 15:09发布

I'm new in CodeIgniter. I am making a project in which I make a javascript function in view an in this I define a variable .. it looks like this

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

my controller function contains

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();
 }

I want to access the variable $rowCount in controller function, how can I do that?

1条回答
爷的心禁止访问
2楼-- · 2019-08-13 15:39

Just to make sure I understand you, You are trying to pass a variable from javascript to CodeIgniter's controller function, right?

If that's your case(hopefully it is), then you can use AJAX, or craft an anchor link.

First of all, you're going to use the URI class, specifically the segment() function.

Let's assume this is your controller:

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();
    }
}

Now with javascript you can either craft an anchor tag, or use AJAX:

Method 1: By crafting an anchor tag:

<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>

Method 2: By using 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);
查看更多
登录 后发表回答