Javascript 如何在codeigniter中将ajax变量值传递给控制器

Javascript 如何在codeigniter中将ajax变量值传递给控制器,javascript,ajax,codeigniter,Javascript,Ajax,Codeigniter,这里我想把ajax中的'q'值传递给codeigniter中的控制器函数 ajax code: function getdata(str) { if (str == "") { document.getElementById("yer").innerHTML = ""; return; } else { if (window.XMLHttpRequest) {

这里我想把ajax中的'q'值传递给codeigniter中的控制器函数

ajax code:   
function getdata(str) 
    {
        if (str == "") {
            document.getElementById("yer").innerHTML = "";
            return;
        } else { 
            if (window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("bus").innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET","<?php echo site_url('money_c/taxcalculator1'); ?>?q="+str,true);
            xmlhttp.send();
               window.location="<?php echo site_url('money_c/taxcalculator'); ?>"

        }
    }
controller:

    function taxcalculator1()
            {
                $bt=$_GET['q'];
                echo $bt;
            }
ajax代码:
函数getdata(str)
{
如果(str==“”){
document.getElementById(“yer”).innerHTML=“”;
返回;
}否则{
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}否则{
//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“总线”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“?q=“+str,true”);
xmlhttp.send();
window.location=“”
}
}
控制器:
函数taxcalculator1()
{
$bt=$_GET['q'];
echo$bt;
}

在这里,我想将“q”值从ajax传递给codeigniter中的控制器函数。

一旦您开始使用以下命令发送ajax请求:

ajax code:   
function getdata(str) 
    {
        if (str == "") {
            document.getElementById("yer").innerHTML = "";
            return;
        } else { 
            if (window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("bus").innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET","<?php echo site_url('money_c/taxcalculator1'); ?>?q="+str,true);
            xmlhttp.send();
               window.location="<?php echo site_url('money_c/taxcalculator'); ?>"

        }
    }
controller:

    function taxcalculator1()
            {
                $bt=$_GET['q'];
                echo $bt;
            }
您在页面上留下以下内容:

window.location=“”
…这将中止Ajax请求,删除您试图使用
innerHTML
编辑的位置,并销毁无论如何都会尝试这样做的JavaScript


如果您想使用Ajax,那么:

  • 将要向用户显示的来自
    taxcalculator1
  • 使用
    onreadystatechange
    将其显示给用户
  • 在这之前不要离开页面(删除
    窗口。位置
    行)
如果要加载全新页面,请执行以下操作:

  • 不要使用Ajax
  • 只需将表单提交到URL即可
  • 显示您希望用户在响应该请求时看到的数据(以HTML文档的形式)

一旦开始使用以下命令发送Ajax请求:

您在页面上留下以下内容:

window.location=“”
…这将中止Ajax请求,删除您试图使用
innerHTML
编辑的位置,并销毁无论如何都会尝试这样做的JavaScript


如果您想使用Ajax,那么:

  • 将要向用户显示的来自
    taxcalculator1
  • 使用
    onreadystatechange
    将其显示给用户
  • 在这之前不要离开页面(删除
    窗口。位置
    行)
如果要加载全新页面,请执行以下操作:

  • 不要使用Ajax
  • 只需将表单提交到URL即可
  • 显示您希望用户在响应该请求时看到的数据(以HTML文档的形式)

为什么不能使用Jquery?我问这个问题是因为您在Jquery下对它进行了标记:)您希望看到什么,以及什么东西不能正常工作?为什么不能使用Jquery?我问这个问题是因为你在Jquery下给它加了标签:)你期望什么,什么东西不能正常工作?@BinilVarghees-看到答案中粗体部分了吗?按照说明去做。@BinilVarghees-看到答案中粗体部分了吗?按照指示去做。
window.location="<?php echo site_url('money_c/taxcalculator'); ?>"