2015-12-21 2 views
1

У меня есть stucture такой код:не может найти JS файл

enter image description here

Я пытаюсь загрузить JavaScript в PHP файл, как это:

enter image description here

Но у меня есть ошибка, как это : enter image description here

Это мой html: enter image description here

И это еще один JavaScript:

enter image description here

И я пытаюсь скопировать вставить ссылку, и я получил сообщение об ошибке 404 не найден. Как я могу это исправить? Благодарю.

+0

Введите HTML –

+0

вы служите эти файлы с локального хоста? Нам нужен контекст вашего сервера. – Sinistralis

+0

Предполагая, что у вас есть файлы в нужном месте, вы можете получать 404 с вашего сервера, потому что у сервера нет разрешения на доступ к этим файлам. Проверьте свои разрешения. –

ответ

2

Права доступа

Когда хозяин правильно, и файл находится в нужном месте, и у вас нет никаких других сетевых проблем, иногда вы можете получить еще 404 из-за плохих прав доступа к файлам. Если сервер не имеет разрешения на доступ к файлу, он может отправить сообщение об ошибке 404. Причина, по которой некоторая ошибка «Not Authorized» не указана , а не, заключается в том, что это откроет больше информации о файлах, чем вы, возможно, владелец сервера. Способ ответа на запросы для привилегированных файлов без выявления того, существуют ли они или нет, состоит в том, чтобы предоставить 404.

В Windows вы можете просматривать и изменять разрешения из Проводника файлов, щелкнув правой кнопкой мыши на файле или папке, затем перейдите в меню Свойства -> Безопасность -> Изменить. Для получения дополнительной информации, see the notes on permissions on Microsoft's site.

Типы файлов

Кроме разрешений, сервер должен также быть настроен для типа файла, к которому вы обращаетесь. Если файлы с разными расширениями обслуживаются, но .js файлов нет, проверьте конфигурацию своего сервера, чтобы убедиться, что файлы .js не занесены в черный список (или не включены в белый список, в зависимости от ситуации).

Каталог Расположение

Вы также должны убедиться, что файлы на самом деле хранятся в самом верхнем каталоге веб-сервера если это, как вы к ним доступ. Если это не так, вам может потребоваться префикс пути с пути от корня веб-сервера к вашему каталогу приложений. Например, вместо fusioncharts/... вам может понадобиться /path/to/fusioncharts/... или ../../path/to/fusioncharts.

Других соображения

В вашем конкретном случае, вы также должны убедиться, что файлы внутри папок fusioncharts фактически структурированы так, как вы думаете. (Например, действительно ли есть файл js/[insert name here].js внутри папки fusioncharts?

Если ни одна из этих проблем не решает проблему, попробуйте взять что-то, что будет работать и постепенно делать его все более похожим на файлы, которые не работают. Выяснив, в какой момент вы переходите от рабочей установки к неработающей настройке, вы можете обнаружить эту проблему.

+0

Я изменил доступ к папке, но ничего не изменилось, ошибка все же появилась в firebug консоли. – user3505775

+0

@ user3505775 См. Мое редактирование. Также убедитесь, что * сервер * имеет доступ к файлам. Чтобы проверить, разрешены ли разрешения, вы можете временно сделать их доступными для чтения/исполняемыми каждым пользователем, а затем посмотреть, не исчезла ли проблема. Если это не так, вы знаете, что это нечто помимо этого. Наконец, вы также можете убедиться, что ваш сервер настроен на обслуживание файлов .js'. Если это не так, это может также дать 404. –

+0

ваши анзеры правы. Я просто ошибаюсь, не используя путь к файлу с помощью http. Путь к файлу должен использоваться следующим образом: user3505775

2

Предполагая, что вы используете codeigniter, вы можете использовать функцию base_url() для включения JS-файлов в файл шаблона вида codeignitor.

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

CodeIgniter шаблон представления по умолчанию называется welcome_message.php и этот файл находится в папке приложения/просмотра.

Вот как я включаю js-файлы в мои проекты codeigniter. Надеюсь, это поможет.

0

В HTML вы можете написать скрипт * ** в голове или в теле, но не в ваших JS файлов, удалить это fusionCharts.js

<script type=text/javascript> 

В fusionCharts.js пишут только функция без сценария

0

Если вы имеете в виду файл с пути: /ui/new-file.js

затем,

1. В HTML файле включают

<script type="text/javascript" src="/ui/new-file.js"></script> 

2.In server.js или app.js зависимости от того, у вас есть, включают в себя

app.get('/ui/new-file.js', function (req, res) { 
    res.sendFile(path.join(__dirname, 'ui', 'login-file.js')); 
}); 
Смежные вопросы