Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从javascript调用控制器方法_Php_Javascript_Codeigniter - Fatal编程技术网

Php 从javascript调用控制器方法

Php 从javascript调用控制器方法,php,javascript,codeigniter,Php,Javascript,Codeigniter,我需要从Javascript调用名为test()的控制器方法。脚本代码如下所示: function changeColor(id, color) { element = document.getElementById(id); qnid = document.form1.pickupFrom.qnid; //window.location = "<?= site_url('controller/test') ?>" } 函数changeColor(id

我需要从Javascript调用名为
test()
的控制器方法。脚本代码如下所示:

function changeColor(id, color) 
{
    element = document.getElementById(id);
    qnid = document.form1.pickupFrom.qnid;

    //window.location =  "<?= site_url('controller/test') ?>"
}
函数changeColor(id,颜色)
{
元素=document.getElementById(id);
qnid=document.form1.pickupFrom.qnid;
//window.location=“”
}
可能吗?如何传递参数

您应该按照以下步骤操作:

window.location.href = "<?php echo site_url('yourcontroller_name/function_name/param1/param2') ?>" window.location.href=“” 希望它有帮助

你应该这样做:

window.location.href = "<?php echo site_url('yourcontroller_name/function_name/param1/param2') ?>" window.location.href=“”
希望它有帮助

这取决于您需要传递哪些参数。它们是PHP参数吗?你做得很好,或者最好看看@Sudhir的答案

如果您的参数来自javascript,则不应使用
site\u url()
函数(因为当它详细说明并吐出url时,javascript尚未执行)。以这种方式构建URL要容易得多:

function changeColor(id, color) {
            element = document.getElementById(id);
            qnid = document.form1.pickupFrom.qnid;

            window.location =  "<?php echo base_url();?>index.php/controller/test/"+element+"/"+qnid;
}
函数changeColor(id,颜色){
元素=document.getElementById(id);
qnid=document.form1.pickupFrom.qnid;
window.location=“index.php/controller/test/”+element+“/”+qnid;
}

我假设这两个是您想要传递的参数。

这取决于您需要传递的参数。它们是PHP参数吗?你做得很好,或者最好看看@Sudhir的答案

如果您的参数来自javascript,则不应使用
site\u url()
函数(因为当它详细说明并吐出url时,javascript尚未执行)。以这种方式构建URL要容易得多:

function changeColor(id, color) {
            element = document.getElementById(id);
            qnid = document.form1.pickupFrom.qnid;

            window.location =  "<?php echo base_url();?>index.php/controller/test/"+element+"/"+qnid;
}
函数changeColor(id,颜色){
元素=document.getElementById(id);
qnid=document.form1.pickupFrom.qnid;
window.location=“index.php/controller/test/”+element+“/”+qnid;
}

我假设这两个是您想要传递的参数。

尝试时发生了什么?您是否打算将当前页面替换为该请求返回的内容?尝试时发生了什么?您是否打算将当前页面替换为该请求返回的任何内容?