【问题标题】:calling codeigniter method from javascript and passing data从javascript调用codeigniter方法并传递数据
【发布时间】:2016-05-03 19:34:27
【问题描述】:

您好,我正在为我的大学项目使用 codeigniter 框架,我需要从 js 函数调用控制器方法,我设法做到了,但现在我不知道如何将数据传递给我正在调用的方法。我在网上找到了一些例子,但我没有设法解决我的问题。

这就是我从 js 函数中调用我的方法的方式,

window.location.href = "<?php echo site_url('controller_user/test');?>";

我需要将此数据发送到该方法

var data = [formName, formSurname, formEmail, formUsername];

我尝试这样的事情:

window.location.href = "<?php echo site_url('controller_user/test');?>?data="+data;

我不知道如何解决这个问题,就像我说我在 stackoverflow 网站上发现了类似的东西,但仍然遇到问题。

感谢所有愿意帮助我的人!!!

【问题讨论】:

  • 要么使用隐藏字段中的数据制作 HTML 表单,然后使用 JavaScript 提交,要么在此处使用 AJAX。

标签: javascript codeigniter parameter-passing


【解决方案1】:

请像下面这样修改你的 JavaScript

window.location.href = "<?php echo site_url('controller_user/test');?>/"+formName+/+formSurname+'/'+formEmail+'/'+formUsername;

像下面这样修改你的控制器功能

public function test($formName='',$formSurname='',$formEmail='',formUsername=''){

    echo "$formName ,$formSurname,$formEmail,formUsername";
    exit;

}

【讨论】:

  • 我可能在某个地方犯了一个错误,因为它没有任何作用,我会再试一次,我会告诉你我成功了。谢谢你的回答!!!
  • 感谢您的回答,我犯了一个错误并修复它,现在您的代码可以正常工作了!
【解决方案2】:

试试这个

window.location.href = "<?php echo json_encode(site_url('controller_user/test'));?>

【讨论】:

    【解决方案3】:

    您应该使用 ajax 并将数据传递给方法。像这样,试试看

    var data = {formName : formName , formSurname : formSurname ,formEmail : formEmail,formUsername : formUsername}
    
         $.ajax({
                url: '<?php echo base_url('controller_user/test');?>',
                type: 'POST',
                data: data,
                success: function(msg)
                {
                    //success part code 
                }
            });
            return false;
    

    【讨论】:

    • 我可能在某个地方犯了错误,因为它没有任何作用,我会再试一次,我会告诉你我成功了。谢谢你的回答!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    相关资源
    最近更新 更多