【问题标题】:codeigniter unable to call function in the controller want to use in the view filecodeigniter 无法调用控制器中要在视图文件中使用的函数
【发布时间】:2014-12-04 10:07:35
【问题描述】:
public function test() {
    echo 'helloooo';
}

这是controllers/ajax.php

我想在

中调用这个函数
views/paymentresponce.php

我试过Ajax::test();

如何在此付款响应中调用它

它给了我错误

Fatal error: Class 'Ajax' not found in C:\xampp\htdocs\handysites\admin\application\views\clienth\paymentrespone.php on line 8

【问题讨论】:

    标签: php ajax codeigniter


    【解决方案1】:

    首先,从视图调用Controller函数是违反MVC的原则的。

    视图仅用于呈现 HTML 输出的数据。

    您可以在控制器中调用该函数并将数据传递给视图。

    【讨论】:

      【解决方案2】:

      在视图中你不能调用控制器函数。如果你正在使用 ajax,你可以通过 url 调用你的控制器函数

      yoursite.com/controller/function
      

      你可以传递控制器实例来调用函数

      public function test() {
        $object['controller']=$this; 
        $this->load->view('test',$object);
      }
      

      查看:

      $controller->test();
      

      更多信息:- How to call codeigniter controller function from view

      【讨论】:

        【解决方案3】:

        不能是Ajax::test();

        应该是Ajax->test();

        【讨论】:

          【解决方案4】:

          这不是您在 CodeIgniter 中调用控制器方法的方式。

          你应该有这样的东西来调用一个方法:

          yourController->test(); ?>
          

          在这种情况下,它是:

          ajax->test();
          

          如果您通过单击视图页面中的链接来访问此方法,请这样写:

          <a href="<?php echo base_url(); ?>index.php/ajax/test">Drink up me hearties, Yo ho!</a>
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-01-05
            • 2016-05-23
            • 1970-01-01
            • 2012-04-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多