JQuery UI Click调用在本地机器上工作,但在发布到服务器时不工作-也使用CakePHP

bvuwiixz  于 2022-11-11  发布在  PHP
关注(0)|答案(1)|浏览(203)

我有一些javascript,看起来像这样:

$('.resultitem').click(function(event){
     alert('check this gets called');                      
     location.href='viewinfo/'+$(this).attr('rel');
});

这段代码在我的本地机器上运行得很好,但是在上传到服务器后,它似乎根本就没有被调用。有人能帮我理解为什么吗?
UPDATE:正如下面提到的,这是由一个更高级别的脚本错误引起的。在使用Firebug调试时,我注意到在服务器上,在net选项卡中,一个GET jquery.cookie.js失败,代码为406不可接受。
我不得不重命名为jquerycookie.js,以保持这个特定的主机提供商高兴。我做了一点更多的研究,这可能是由于以下:
“任何包含. cookie.的内容都会触发Apache mod_security警告,停止提供文件,从而有效地使其无法工作”

vsnjm48y

vsnjm48y1#

您是否使用Cake的HTML助手来包含JavaScript文件?例如:
echo $this->Html->script(array('jquery-1.4.3.min'));
请注意,按照Cake的惯例,我省略了.js文件扩展名。根据我的经验,这会产生一些问题,即生产服务器认为.min是文件扩展名,并试图加载一个名为jquery-1.4.3.min的不存在的文件,这意味着jQuery没有被加载,因此您发布的代码片段会失败。
我不确定这是否是您加载脚本的方式,但一般来说,使用完整的文件名更安全,如下所示:
echo $this->Html->script(array('jquery-1.4.3.min.js'));

相关问题