错误,包括codeigniter中的js文件

时间:2011-06-30 12:32:13

标签: php codeigniter

我是codeigniter的新用户,我使用1.7.2.i的版本已经安装了freak auth ...我想让我的另一个应用程序在那里运行..我已经复制了根文件夹中的内容并创建了视图和控制器..在我看来book.php我的js内容被包含但它没有显示...我在浏览器中只得到空白屏幕,

我认为问题出在脚本标签上;我的代码是

<script type="text/javascript" src="<?php echo base_url();?>files/object.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>files/address.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>files/facebook.js"></script>

哪里出错?

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,直到我发现我没有自动加载url-helper。奇怪的是,如果在include语句中发生错误,几个不同的浏览器在查看html源时根本没有输出任何错误消息。

另外请记住,如果您使用.htaccess文件,则允许直接访问该目录。

application / config / autoload 文件中包含url-helper,如下所示:

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

或者在控制器中动态执行

$this->load->helper('url');

如果.htaccess阻止访问该文件,则可以排除文件dir:

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

答案 1 :(得分:1)

除非/files是实际目录,或者您的Files控制器具有_resolve方法,否则每个都应该是404.

如果是目录,则需要确认您可以从浏览器中读取该目录中的任何内容。可能存在权限问题或Apache可能认为该目录应标记为不可访问。

另一方面,如果你有一个文件控制器,那么你说call the object.js method on the File controller_resolve可以让您避免这种情况,因为它可以作为一个全能 - call the _resolve method on the File controller and tell it that we're trying to display object.js

关于你之后的观点组织等等,嗯,如果不了解有关控制器和视图的更多信息,我无法真正帮助你。

答案 2 :(得分:0)

首先想到的是:

1)url-helper未加载 2)htaccess阻止将您的目录视为控制器

解决方案

1)在config / autoload.php中添加url 例如

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

2)将文件添加到htaccess exeptions 例如

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