【问题标题】:javascript not working at another function in controller (CODEIGNITER)javascript 在控制器中的另一个功能上不起作用(CODEIGNITER)
【发布时间】:2020-04-21 22:21:39
【问题描述】:

我遇到了一些问题,如果你能解决这个问题,请帮助我

所以,我使用 CodeIgniter 框架来创建一个网站 我想将 1 个控制器用于 2 个视图,但对于第二个视图,我从 javascript 中得到了错误

这是我的控制器

public function __construct()
{
    parent::__construct();
    $this->load->model('M_registration');
}
public function index(){
    $this->load->view('templates/V_header');
    $this->load->view('en-us/V_home');
    $this->load->view('templates/V_footer');
}

public function registration(){
    $x['prov'] = $this->M_registration->get_prov();

    $this->load->view('templates/V_header');
    $this->load->view('en-us/V_registration', $x);
    $this->load->view('templates/V_footer');
}

对于 javascript,我使用另一个名为 :java_script.php 的文件,并从 V_footer.php 调用该文件

我用它来调用页脚中的 javascript

<?php include 'java_script.php'?>

</body>

</html>

那么我想在这里做的是: 我想从 1 个控制器进入注册页面 示例:localhost/myWebsite(这是主视图/索引)-> 这将调用函数索引 然后我想从这个控制器注册页面:localhost/myWebsite/registration

这是我在 java_script.php 中的 javascript

<script src="<?= base_url('assets/')?>js/bootstrap.min.js"></script>
<script src="<?= base_url('assets/')?>js/jquery.validate.min.js"></script>
<script src="<?= base_url('assets/')?>js/main.js"></script>
<script>
    $(document).ready(function(){
        alert('registration page');
    });
</script>

此 javascript 在索引中工作,但在注册中不工作

我已经像这样申请 .htaccess 了:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

我有什么解决办法吗? 之前谢谢你。

也许这可以帮助您理解我的问题。 当我在新控制器中使用注册功能时,javascript正在工作 但是当我在一个控制器中使用该功能时,javascript 不起作用

【问题讨论】:

  • "对于第二个视图,我从 javascript 中得到了错误" - 什么错误?
  • 不要使用include 'java_script.php'试试$this-&gt;load-&gt;view('java_script');
  • 什么是错误?请分享
  • @Gulshan 我试过用这个,还是不行
  • 错误是javascript在第二个视图中不起作用

标签: javascript php codeigniter


【解决方案1】:

为什么事情过于复杂? 与其在您加载的视图上放置一个包含,不如在您的页脚底部添加您的java_script.php 文件的内容会更干净(我不是在谈论在那些 3-4 js 文件中内联代码,只需粘贴来自java_script.php) 的确切代码即可。

将这些文件加载​​到不需要它们的几个视图上的开销很小,您不必经历包含/不包含文件的麻烦,并且所有内容最终都可以在所有视图上使用如果你需要

【讨论】:

    【解决方案2】:

    很抱歉问了无用的问题

    我已经找到答案了

    我认为我的 javascript 是问题

    我为这样的javascript添加了很多base_url

    <!-- JS here -->
    <script src="<?= base_url('assets/')?>js/vendor/modernizr-3.5.0.min.js"></script>
    <!--     <script src="js/vendor/jquery-1.12.4.min.js"></script> -->
    <script src="<?= base_url('assets/')?>js/popper.min.js"></script>
    <script src="<?= base_url('assets/')?>js/bootstrap.min.js"></script>
    <script src="<?= base_url('assets/')?>js/owl.carousel.min.js"></script>
    <script src="<?= base_url('assets/')?>js/isotope.pkgd.min.js"></script>
    <script src="<?= base_url('assets/')?>js/ajax-form.js"></script>
    <script src="<?= base_url('assets/')?>js/waypoints.min.js"></script>
    <script src="<?= base_url('assets/')?>js/jquery.counterup.min.js"></script>
    <script src="<?= base_url('assets/')?>js/imagesloaded.pkgd.min.js"></script>
    <script src="<?= base_url('assets/')?>js/scrollIt.js"></script>
    <script src="<?= base_url('assets/')?>js/jquery.scrollUp.min.js"></script>
    <script src="<?= base_url('assets/')?>js/wow.min.js"></script>
    <script src="<?= base_url('assets/')?>js/nice-select.min.js"></script>
    <script src="<?= base_url('assets/')?>js/jquery.slicknav.min.js"></script>
    <script src="<?= base_url('assets/')?>js/jquery.magnific-popup.min.js"></script>
    <script src="<?= base_url('assets/')?>js/plugins.js"></script>
    <script src="<?= base_url('assets/')?>js/gijgo.min.js"></script>
    <script src="<?= base_url('assets/')?>js/slick.min.js"></script>
    <!--contact js-->
    <script src="<?= base_url('assets/')?>js/contact.js"></script>
    <script src="<?= base_url('assets/')?>js/jquery.ajaxchimp.min.js"></script>
    <script src="<?= base_url('assets/')?>js/jquery.form.js"></script>
    <script src="<?= base_url('assets/')?>js/jquery.validate.min.js"></script>
    <script src="<?= base_url('assets/')?>js/mail-script.js"></script>
    
    <script src="<?= base_url('assets/')?>js/main.js"></script>
    
    
    <!-- Include jQuery -->
    <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT" crossorigin="anonymous"></script>
    
    <!-- Include jQuery Timeline Plugin -->
    <script src="<?= base_url('assets/')?>js/jquery.roadmap.js" type="text/javascript"></script>
    

    底部的 2 个脚本是所有人的问题。我把它移到了顶部,没关系

    非常感谢您在这里尝试解决我的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 2017-08-04
      • 2016-08-20
      • 1970-01-01
      相关资源
      最近更新 更多