#jquery #cakephp
#jquery #cakephp
Вопрос:
Я пытаюсь добавить jQuery в один из моих проектов, но не могу заставить его работать.
/views/layouts/default.ctp
echo $this->Html->script('jquery-1.6.4.js');
echo $this->Html->script('test.js');
/view/test/view.ctp
<?php echo $html->link('click msg', '#', array('onclick'=>'return false;', 'id'=>'msg-name', 'class'=>'msg-link')); ?>
/views/layouts/js/test.js
$(document).ready(function()
{
$('.msg-link').click( function ()
{
alert("Thanks for clicking.");
});
});
затем при нажатии кнопки / ссылки должно появиться предупреждение, но оно ничего не делает: (
Также я являюсь консолью отладки Chrome, я вижу эту ошибку:
/js/jquery-1.6.4.js:-1 Resource interpreted as Script but transferred with MIME type text/html.
/js/test.js:-1 Resource interpreted as Script but transferred with MIME type text/html.
jquery-1.6.4.js:1 Uncaught SyntaxError: Unexpected token <
test.js:1 Uncaught SyntaxError: Unexpected token <
Я не совсем уверен, что они означают, и не вижу, как в запросе на складе могут быть ошибки.
Кто-нибудь может помочь, пожалуйста?
Спасибо!
Ответ №1:
вы должны скопировать файлы js в /webroot/js/.
Затем вам нужно установить в вашем ctp-файле это:
echo $this->Html->script('jquery-1.6.4');
echo $this->Html->script('test');
Комментарии:
1. Привет, Чалист, спасибо
Я только что узнал об этом … если я не пропустил это, это не очень хорошо документировано, которое должно быть помещено в /webroot/js/, а не туда, куда я его поместил /views/layouts/js/
Ответ №2:
Удалите расширение .js.
echo $this->Html->script('jquery-1.6.4');
echo $this->Html->script('test');
Этот метод включения файла javascript предполагает, что указанный файл javascript находится внутри каталога /app/webroot/js .
http://book.cakephp.org/2.0/en/core-libraries/helpers/html.html ?выделите =html#HtmlHelper::script
Комментарии:
1. Привет, спасибо за ответ, попробовал это, и оба не имеют значения, в html он ссылается правильно /js/jquery-1.6.4.js как когда у меня есть файл .js, так и без него: (