【发布时间】:2012-04-24 17:39:28
【问题描述】:
我对 Yii 和 Jquery 有一个奇怪的问题:
当我在 localhost Yii 上打开一个使用 ajax/jquery 的页面时,Yii 会自动将资产包含调用添加到页面:
<link rel="stylesheet" type="text/css" href="/PATH/assets/f72b359d/style.css" />
<script type="text/javascript" src="/PATH/assets/2e442e1a/jquery.js"></script>
<script type="text/javascript" src="/PATH/assets/2e442e1a/jquery.cookie.js"></script>
但是,当我在服务器上运行相同的代码时,Yii 并没有这样做,因此没有可用的 Jquery。
如果有人能找到解决问题的方法,我将不胜感激。
【问题讨论】:
-
我从未使用过 Yii,但这是我的猜测,尝试使用绝对路径而不是相对路径?
-
“不做”是什么意思?标签根本不在
<head>内吗? -
或者尝试使用 Google CDN(内容交付网络)来服务 jQuery:ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
-
无法保证 YII 会将资产放在服务器上与 localhost 上相同的位置。你确定路径是对的吗? src="/PATH/assets/2e442e1a/jquery.js" 等路径中的 2e442e1a 部分将发生变化
-
不要将 Yii 的资产包含在 src="/PATH/assets/2e442e1a/jquery.js" 这样的路径中。您应该通过 Yii::app()->getClientScript() 获得的 CClientScript 方法包含/注册 JS 代码。