【问题标题】:codeigniter javascript not found error找不到codeigniter javascript错误
【发布时间】:2014-05-25 22:22:04
【问题描述】:

首先,我很抱歉我的英语不好,我是西班牙人,如果我做错了什么,我很抱歉,这是我的第一篇文章。

我在 codeigniter 2.1.4 中加载 javascript 文件时遇到问题。我没有将它加载到我的页面标题中。 css 文件加载良好。此示例尝试加载 jquery 和引导程序。

我按照 codeigniter 文档中的步骤进行操作,当我创建 codeigniter 静态页面“home.php”时,我想使用 bootstrap 进行设计。

我遵循的教程是这样的: http://ellislab.com/codeigniter/user-guide/tutorial/static_pages.html

我的文件夹结构:

  • htdocs
    • 我的项目(课程)
      • 申请
        • 控制器
          • pages.php
        • 查看次数
          • 模板
            • header.php
            • home.php
            • about.php
      • 系统
      • 资产
        • 引导程序
          • CSS
            • bootstrap.min.css
          • js
            • bootstrap.min.js
        • jquery- 2.1.0.min.js

我一直在这个论坛和其他论坛中搜索,并且总是找到与 base_url() 或 site_url() 相同的示例。这些是我的:

更新代码:

<script type="text/javascript" src="<?php echo base_url(); ?>assets/bootstrap/js/bootstrap.min.js"></script>

我的加载了 url 助手的 autoload.php:

$ autoload['helper'] = array('url');

当我尝试加载页面时出现以下错误:

GET http://localhost/curriculos/assets/jquery-2.1.0.min.js 404 (Not Found)
GET http://localhost/curriculos/assets/bootstrap/js/bootstrap.min.js 404 (Not Found)
GET http://localhost/curriculos/assets/bootstrap/js/bootstrap.min.js 404 (Not Found) 

最奇怪的是,当您单击其中一个时,它会显示该文件类型正试图作为文本/html 而不是像往常一样作为应用程序/javascript 加载:

你能帮帮我吗?

非常感谢您的回复。

【问题讨论】:

  • 图像工作正常还是图像有问题?
  • 我上传了一张带有新建议的新图片。这是您的问题吗?可能我不太了解你。
  • 对不起我的英语,现在我想我理解你了。是的,图像对于新的更新代码是正确的。抱歉,当我将问题从编辑器复制到堆栈溢出时,我的文本编辑器取笑了我。
  • 我发现了问题。问题是来自codeigniter的.htaccess在url中隐藏index.php ¬¬。这是我的 .htaccess:RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ index.php/$1 [L] 有人知道如何更改 .htaccess 以允许 .js 文件吗? @Guns @Jai @shan22

标签: javascript php jquery codeigniter twitter-bootstrap


【解决方案1】:

您需要更改 .htaccess 文件,使其不再重写对“/assets”的请求。

换句话说,您需要您的 .htaccess 文件来忽略对“资产”文件夹的请求,并让浏览器按照提供的方式加载 url。试试这个:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|assets|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

【讨论】:

    【解决方案2】:
    <script  src="<?php echo base_url(); ?>assets/bootstrap/js/bootstrap.min.js"></script>
    

    这是正确的路径。试试吧!

    【讨论】:

    • 谢谢shan22,但问题是codeigniter .htaccess :)。
    【解决方案3】:

    问题是codeigniter提供的.htaccess删除index.php。按照这个链接: http://www.codeigniter.com/userguide2/general/urls.html

    在您的 .htaccess 中删除此代码,您可以加载 javascript 文件:)。

    RewriteEngine on
    RewriteCond $1 !^(index\.php|images|robots\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]
    

    【讨论】:

      【解决方案4】:

      Assets 文件夹必须在应用程序文件夹之外。就像下面的快照。然后在视图文件中使用以下代码来包含 css、js 和字体文件。

      Folder structure for css/js/fonts files in codeigniter

      <link href="<?php echo base_url('assets/css/bootstrap.min.css'); ?>" rel="stylesheet" type="text/css" />
      <script type="text/javascript" src="<?php echo base_url("assets/js/jquery-1.11.3.min.js"); ?>"></script>
      <script type="text/javascript" src="<?php echo base_url("assets/js/bootstrap.js"); ?>"></script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-24
        • 2013-01-31
        • 2016-12-06
        • 1970-01-01
        • 2013-12-28
        • 2016-08-02
        • 2015-10-07
        • 1970-01-01
        相关资源
        最近更新 更多