【问题标题】:Code igniter get ajax value from view to controllerCodeigniter 从视图到控制器获取 ajax 值
【发布时间】:2013-03-23 08:21:18
【问题描述】:

如何在我的控制器中获取 send?这是我试过的:

Ajax

$.ajax({
    type: "POST",
    url: "example/name",
    data: send,
    success: function(value) {

    }
});

控制器

class Example extends CI_Controller {
    function name() {
        $this - > post(send);
    }
}

【问题讨论】:

  • 什么是send变量?
  • @dfsq:它有一个字符串作为内容。如何发送 ajax 值并在控制器中检索。
  • 你确定你的控制器上有一个名为post的函数吗?我希望您需要获取POST 值,请使用$this->input->post('field_name')

标签: jquery ajax codeigniter


【解决方案1】:

您似乎没有正确发送数据。试试这个:

$.ajax({
    type: "POST",
    url: "example/name",
    data: {send: send},
    success: function(value) {

    }
});

在这种情况下,您可以使用$_POST['send']。

【讨论】:

  • 如何在我的控制器中检索?
  • 您可以将其作为任何其他 POST 参数获取。我对 Codeigniter 不熟悉,但在文档中快速查找后,您似乎也可以将其检索为 $this->input->post('send');。
  • :在我的萤火虫中,它显示了示例/索引/示例/名称。为什么会这样发帖?我的代码点火器说 An Error Was Encountered 不允许您请求的操作。
  • 因为路径必须是/example/name。前面/ 使其相对于Web 服务器根目录。
【解决方案2】:

试试这个,这是ajax调用

 $.post('<?php echo base_url()?>example/name',{send:send}, 
          function(data) {

      });

然后像这样使用 post 到您的控制器中访问它

class Example extends CI_Controller {
function name() {
    $_POST['send'];
  }
}

【讨论】:

【解决方案3】:

首先,您可以定义一个全局变量,该变量可用作 jquery 代码中的基本 url。将其放在页面&lt;head&gt; 部分的&lt;script&gt; 标记中

         //<![CDATA[
              base_url = '<?php echo base_url();?>';
        //]]>

比起这样的ajax请求

        var data  = 'var1=aaa&var2=bbb';

        $.ajax({
            type: "POST",
            url: base_url+"mainController/getData/", //base_url is the variable which you have defined in the head section 
            data: data,
            success: function(response){
                   alert(response);
            }
        });

比在控制器中像这样检索帖子数据

       class MainController extends CI_Controller {

            function getData()
            {
               $var1 = $this->input->post('var1');
               $var2 = $this->input->post('var2');

               echo $var1;
               echo '<br/>';
               echo $var2;
            }  
       }

【讨论】:

    【解决方案4】:

    您应该指定要与发送一起发布的值,即它应该像-

    $.ajax({
        type: "POST",
        url: "example/name",
        data: 'send='+1,
        success: function(value) {
    
        }
    });
    

    然后你就会得到这个变量的值。

    使用-

    $this->input->post('send');
    

    【讨论】:

    • 在我的萤火虫中,它向我展示了示例/索引/示例/名称。为什么会这样发帖?
    • 在脚本中使用 尝试使用从 http 到结束的完整 url 直到你的函数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多