ошибка при включении js-файлов в codeigniter - PullRequest
1 голос
/ 30 июня 2011

Я новичок в 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 ]

2 голосов
/ 30 июня 2011

У меня была такая же проблема, пока я не узнал, что не загружал url-helper. Странно то, что несколько разных браузеров вообще не выводили никаких сообщений об ошибках при просмотре html-источника, если ошибки произошли внутри оператора include.

Также не забудьте разрешить прямой доступ к этому каталогу в вашем файле .htaccess, если вы его используете.

Включите url-helper в файл application / config / autoload , например:

$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 голос
/ 30 июня 2011

Если /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.

Что касается вашей организации представлений и тому подобного после этого, ну, я действительно не могу вам помочь, не зная больше о контроллере и рассматриваемом представлении.

0 голосов
/ 30 июня 2011

Первое, что приходит на ум, по порядку:

1) url-helper не загружен 2) htaccess блокирует обработку вашего каталога как контроллера

Решения

1) Добавьте URL в config / autoload.php, например,

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

2) Добавьте файлы в исключения htaccess, например,

RewriteEngine on
RewriteCond $1 !^(index\.php|files)
RewriteRule ^(.*)$ /index.php/$1 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...