CakePHP示例中的简单jQuery不起作用

时间:2011-10-18 18:50:55

标签: 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 <

我不确定它们是什么意思,也看不出股票查询如何在其中出现错误。

有人可以帮忙吗?

谢谢!

2 个答案:

答案 0 :(得分:5)

删除.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?highlight=html#HtmlHelper::script

答案 1 :(得分:5)

你必须将js文件复制到/ webroot / js /.

然后你必须在你的ctp文件中设置:

echo $this->Html->script('jquery-1.6.4');
echo $this->Html->script('test');